I have worked on a file in Directory A. There is a file with the same name in directory B which is an older version of that same file. I rsync everything from B to A.

What happens to my work in the file in directory A?

  • somedaysoon@lemmy.world
    link
    fedilink
    English
    arrow-up
    20
    ·
    edit-2
    11 months ago

    It depends what command arguments you give it, but by default the file will be overwritten with the older version.

    I’d recommend looking into --update and --ignore-existing if you want to change that behavior to better suite your end goals. And test it out with -n which is a dry run for testing.

    • WasPentalive@lemmy.oneOP
      link
      fedilink
      arrow-up
      4
      ·
      edit-2
      11 months ago

      Thanks - Looking at the man page, It looks like I would want --update in this case as it would cause the newer version to be present in both directories afterward.

      • somedaysoon@lemmy.world
        link
        fedilink
        English
        arrow-up
        2
        ·
        edit-2
        11 months ago

        I kind of figured that is what you were trying to do by your scenario but wasn’t completely sure of it. That’s right though, if you want to keep the most recent version of the file then --update should do that for you. And you could write a simple script that does this each way, and schedule it to run however often. I saw your other comment now too, you might want to take a look into syncthing. Nothing against, rsync, I use it all the time for copying files but if this is something that you want to be continually synced then syncthing might be a better solution for you.

        • WasPentalive@lemmy.oneOP
          link
          fedilink
          arrow-up
          1
          ·
          11 months ago

          After a session or two where I have perhaps only worked in A or B alone. I can manually trigger the shell script. Thanks for confirming tho.

  • sportsfork@sopuli.xyz
    link
    fedilink
    arrow-up
    8
    ·
    11 months ago

    there are a gazillion switches to control the behavior. Like, --ignore-existing, to not overwrite any existing files …

  • WasPentalive@lemmy.oneOP
    link
    fedilink
    arrow-up
    2
    ·
    11 months ago

    The actual use case: I have an emulator that uses a directory as the ‘system disk’ of the computer being emulated, but I have one of these on each of two machines. As I make updates I want to have the proper files updated on the other directory so between changes on the two emulators the most recent is synced to the other directory.

    It seems I will need to use 2 rsync commands, one in each direction. Update A from B, then update B from A.

  • Lemmyin@lemmy.nz
    link
    fedilink
    arrow-up
    1
    ·
    11 months ago

    I have no idea what types of files these are but it could turn out that you should rather use Git and push/pull from both sides which could works better.

    Just a suggestion :)