rsync 3.0.x breaks behaviour of --one-file-system --relative --delete

Simon Matter simon.matter at invoca.ch
Tue Sep 6 10:42:25 MDT 2011


Hi,

I found that current rsync versions do something different when using
--one-file-system --relative and --delete. This has all worked as expected
with the old version (in our case those delivered with RHEL4 and 5) but it
doesn't work correct in the 3.0.x version.
I have opened a bug at RedHat because it's at least a regression for their
upgrade from EL5.6 to EL5.7 which updated to rsync 3.0.6.

Here the details from my BZ entry:

Steps to Reproduce:
1. on remotehost: mount /var and /var/opt on separate filesystems
2. on remotehost: cp -a /etc /var/opt/XXX
3. on target host: rsync -aHv --delete --numeric-ids --relative
--delete-excluded remotehost:/var /home/snapshots/TEST
4. on target host, repeat but with -x: rsync -aHvx --delete --numeric-ids
--relative --delete-excluded remotehost:/var /home/snapshots/TEST

Actual results:
/home/snapshots/TEST/var/opt/XXX/ is still there with its content

Expected results:
/home/snapshots/TEST/var/opt/XXX/ should have been removed

Additional info:
This has worked with rsync from EL5.6. With -xx it works but it also
removes the mount point itself (which is expected with -xx) but -x should
include the the mount point as empty directory, and therefore clean up on
the target side.
I have tested with latest rsync from upstream (3.0.8) and it also has the
bug/feature.

https://bugzilla.redhat.com/show_bug.cgi?id=735981

Maybe this is all intended and I'm just confused by the lack of sleep?

Note: I'm not subscribed, thanks for CC'ing me.

Thanks,
Simon



More information about the rsync mailing list