When using multiple --compare-dest options, rsync should avoid
authorWayne Davison <wayned@samba.org>
Wed, 2 Mar 2005 17:48:36 +0000 (17:48 +0000)
committerWayne Davison <wayned@samba.org>
Wed, 2 Mar 2005 17:48:36 +0000 (17:48 +0000)
copying a file that has an exact match in any of the dirs.

generator.c

index fd4f9d5..34cc99d 100644 (file)
@@ -825,8 +825,6 @@ static void recv_generator(char *fname, struct file_list *flist,
                        case 0:
                                best_match = i;
                                match_level = 1;
-                               if (compare_dest)
-                                       break;
                                /* FALL THROUGH */
                        case 1:
                                if (!unchanged_file(fnamecmpbuf, file, &st))
@@ -862,10 +860,10 @@ static void recv_generator(char *fname, struct file_list *flist,
                                                full_fname(fnamecmpbuf),
                                                safe_fname(fname));
                                }
-                               match_level = 1;
+                               match_level = 2;
                        }
 #endif
-                       if (match_level && match_level < 3) {
+                       if (compare_dest || (match_level && match_level < 3)) {
                                fnamecmp = fnamecmpbuf;
                                fnamecmp_type = i;
                        }