On Sun, 2007-12-16 at 13:47 -0500, Ming Zhang wrote: > > even code 24 is in order because the nonexistence of a --files-from > > entry cannot affect the correctness of a run with --delete in the way > > that a traditional vanishing can. > > not quite understand what u meant here...
Sorry. I was thinking of this comment: https://bugzilla.samba.org/show_bug.cgi?id=3653#c11 To elaborate: Rsync generally satisfies the following correctness property: at the end of a successful run with no concurrent modification of the destination, every aspect of the destination that is within the scope of the run (as determined by the file-list and options) reflects a state that the corresponding aspect of the source had at some time during the run. Suppose files src/A and dest/A differ. Suppose we run "rsync -a --delete src/ dest/" and delete src/A during the run. To satisfy the property, rsync should either delete dest/A or fill it with the pre-deletion contents of src/A. However, if src/A vanishes after it is added to the file-list but before the sender can transfer it, rsync reports src/A as vanished and leaves dest/A alone, violating the correctness property. I believe that the code 24 is needed to warn the user that correctness may have been violated in this way. On the other hand, if src/A vanishes before it is added to the file-list (as in the inotify case), rsync deletes dest/A from the destination, so the run satisfies the correctness property. Then the only issue is whether to alert the user that s/he may have mistyped the --files-from entry. By default, rsync alerts the user with a code 23. In the case of inotify, an option would indicate that this alerting is not desired, and no exit code would be needed at all. Matt -- To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html