Bug 10748 - 3.1.0 and 3.1.1 create all dirs on target even with --prune-empty-dirs
3.1.0 and 3.1.1 create all dirs on target even with --prune-empty-dirs
Status: NEW
Product: rsync
Classification: Unclassified
Component: core
All All
: P5 major
: ---
Assigned To: Wayne Davison
Rsync QA Contact
Depends on:
  Show dependency treegraph
Reported: 2014-07-29 05:37 UTC by Linda Walsh
Modified: 2014-07-29 05:38 UTC (History)
0 users

See Also:


Note You need to log in before you can comment on or make changes to this bug.
Description Linda Walsh 2014-07-29 05:37:41 UTC
I'm doing an rsync from a snapshot to an empty "diffdir"
**minus** the basedir, as in "--compare-dest" in below
args... :

<rsync command>  arglist = qw( --8-bit-output --acls 
 --archive --hard-links --human-readable --no-inc-recursive 
 --one-file-system --prune-empty-dirs --whole-file --xattrs ), 
 "--compare-dest=$base_lvh->fs_mp/.") <snapshotdir> <diffdir>

Unfortunately, it's creating *ALL* of the dirs on the source,
changed or not.

After the above was run, the "diffdir" contained 560515 dirs,
of which 386220 were empty. Deleting them freed up almost
300MB on a 600MB "diff".  *ouch*.

This breaks (I'm working on a hack-around) my snapshot
script as it does a "du" of the source and expects
that the copied files should fit in a sized-to-fit
volume that is 125% of the original sources (but doesn't
when a bunch are dirs).

Anyway... only 31% of the directories it copied were
needed -- 69% of the directories were empty.  

What happened?  It didn't used to create such an excess...