aRSync is "Another RSync" and provides a pure java implementation of the rsync algorithm. This implementation is intended to be ready to use for file transfer, to be easy to extend for further use cases and - most important - to become productive.
Rate This ProjectLogin To Rate This Project
Found a link on Reddit about the difference between unidirectional backup and unidirectional merge. Wanted to add it to the wiki but can't find a way to open a new page so here it is: What does unidirectional merge mean as compared to unidirectional backup? (self.mac) submitted 1 year ago * by JimmyCrackCrack It's terminology used by the 'arRsync' frontend for Rsync. I'm currently using the 'unidirectional backup' option of the three options arRysnc presents the user with for file synchronisations. The three options are: 'Bidirectional Synchronise' 'Unidirectional backup' 'Unidirectional merge' based on what information I could get from forums, it appears 'unidirectional backup' will consider the source the 'master drive' and copy the differences between the source on to 'destination' drive including differences where files on the source are older than on the target and also where files have been deleted from the source but not on the target. At the end of the operation the destination should be identical to the source including reversions of any file modifications that were newer, updates to any that were older and the deletion of files not present on the source. If my interpretation of the meaning of unidirectional backup is correct then that's exactly what I want. What confuses me is that I don't know then what unidirectional merge would mean, as a matter of fact the inclusion of the word merge seems to me imply a two directional relationship between things so I have trouble understanding how it could be unidirectional and since the most meaningful I guess I have for what it should do, that I can make, would be exactly what unidirectional backup appears to do - I can't figure out what unidirectional merge would be. For some reason there's no proper documentation with arRsync and therefore no explanation of what any of the 3 options do, which is very odd since there are only 3 so it's basically the only thing the package does. My next best guess would be that unidirectional merge compares modification dates of files from source to target and in the case that the source is the newest version, overwrites it on the destination and in the case that it is older, ignores it (this opposed to a bidirectional synch where in such a case the newest modification from the destination would be copied over to the source). I assume then also that any circumstance where it discovers the presence of files on the destination drive that aren't present on the source it ignores them too (as opposed to bidirectional where it would presumably copy files present on the destination that aren't present on the source). Is this right? It's awfully vague. As near as I can tell my guess for how unidirectional backup works is correct and to this end arRsync has been very helpful and also helped avoid me falling in to the many syntax traps that could dog a novice user of Rsync using CLI but the lack of documentation is very perplexing especially given the raison d'être of making a GUI for Rsync would be to simplify its use for people who might find CLI intimidating. Making the function of the only 3 features the package has completely opaque then would seem an odd choice. 3 commentsshare all 3 comments sorted by: best [–]JimmyCrackCrack[S] 3 points 1 year ago Could find nothing, so I just tested it myself with text edit documents inside subdirectories of master parent directory that I know to be otherwise identical to one another on both source and target. Saved text file called 'test01' inside sub directory 01 of source and text file called 'test02' inside sub directory 02 of destination and ran a unidirectional merge. As I thought might be the case, unidirectional merge adds new files (and presumably new modifications to files but I didn't test that) to a destination, when they are absent on the destination and present on the source, but it does not remove files that are present on the destination but not present on the source. This means that at the end of the test, the source had just one test file as it did at the beginning: 'test01' and the destination at the end of the process had two: the original test file it already had in subdirectory 02 called 'test02' and also now the addition of 'test01' in subdirectory 01. If I run this same test with a 'bidirectional backup' rather than a merge, both drives have only one test file: 'test01' and the 2nd test file, 'test02' is deleted from the destination such that it matches the source. Probably obvious to more advanced users that are used to Rsync but when you don't know for sure and you're not so confident with messing around with that stuff like me and I suspect most others seeking a GUI for Rsync, it can be scary. They should really document this. permalinkembed [–]savaero 1 point 12 months ago so what is a unidirectional 'backup' then? I have this exact question. is it unidirectional backup: make the destination match the source unidirectional merge: add new files to the destination from the source permalinkembedparent [–]JimmyCrackCrack[S] 1 point 11 months ago* It was some months ago that I posted this now and rereading it, it looks like my testing wasn't very thorough as I only really wanted to know if unidirectional backup would do what I wanted and not ruin anything in my use case, therefore I didn't really do a thorough test if unidirectional merge. My response now then is based on rereading what I wrote and restating my assumptions on what unidirectional merge vs backup, does based on what my testing revealed unidirectional backup did. My understanding is that the unidirectional backup makes the destination the same as the source in every way. In my case I wanted to synchronize two folders on different hard drives. It works thus: the software compares folder 1 on drive A (my designated source) with folder 1 on drive B (my designated destination). If it discoveres that one file is on both drive A and drive B it checks if the files are identical or if one is older or newer than the other. In the case that there is a difference, it eliminates this difference by making the copy of the file on drive B the same as the version on drive A, this occurs regardless of if the drive A copy is older than the drive B copy, or newer If it discovers there is a file on drive A that is not present at all on Drive B, it copies the file from drive A on to drive B. If it discovers there is a file present on drive B, that is not present on drive A, it deletes the files from drive B, thereby eliminating this difference between the two drives. For unidirectional merging again I have to guess so this isnt concrete. I believe what it does is to copy across additional content from source to destination but to otherwise perform no action, thus backing up additive changes to the destination from the source but not deletions, or the absence of changes. The result would be a hybrid of source and destination content as both folders have 'meged'. Unidirectional merge then, I believe, (can't test right now) Compares folder 1 on drive A with folder 1 on drive B If it discovers that a file is present on both source and destination, it overwrites older versions of files on the destination, with newer versions on the source or, if the source version is older than the destination, ignores the difference and keeps the files the same as they were on both ends before any syncing was performed. if it discovers a file is present on the source but not present on the destination, copies the file from the source to the destination. if it discovers that a file is present on the destination but not on the source, ignores the file and performs no action - meaning it will neither delete it, nor copy it from destination to source.
Gotta say the interface is simple, the implementation is simple but intuitive, and it works. I do wish there was some documentation as I'm worried about using this on more 'real' data, but a few tests should prove out what the backup/merge options accomplish. Good stuff.