--fuzzy search over to-be-deleted files to catch moved files and directories
matt at mattmccutchen.net
Thu Nov 12 21:20:19 MST 2009
Attempting to address each of your questions, here and then in your
On Wed, 2009-11-11 at 12:17 +0100, H. Langos wrote:
> > It will find moved files that match exactly
> > according to the "quick check" in effect (size + mtime or checksum).
> That is basename+size+mtime or basename+checksum, right?
No, a basename match is not a requirement (hence the ability to detect
renames), but it is a tie-breaker.
> How does "--detect-renamed" interact with "--fuzzy" and "--delete-after"?
--detect-renamed and --fuzzy are two different means of finding basis
files that overlap in some cases but do not really interact.
--detect-renamed considers the whole destination using the quick check,
while --fuzzy considers only the same destination subdir using
size+mtime or otherwise name similarity.
--delete-before and --delete-during may reduce the effectiveness of
--fuzzy, as stated in the man page description of --fuzzy, but they do
not affect --detect-renamed since --detect-renamed actually works during
the delete pass.
> > It doesn't calculate name similarity like --fuzzy because that would
> > be prohibitively expensive in the current implementation.
> Only files of the same size should be
> candidates to start with, right.
No, the name similarity calculation I'm talking about is the fallback to
select a similar basis file when no available destination file passes
the quick check, so it does not require a size match.
> Why would it be so expensive?
Wayne said so here:
I haven't done any tests it myself.
More information about the rsync