I decided that combining --link-dest with -I doesn't make much sense
authorWayne Davison <wayned@samba.org>
Sat, 30 Sep 2006 15:20:17 +0000 (15:20 +0000)
committerWayne Davison <wayned@samba.org>
Sat, 30 Sep 2006 15:20:17 +0000 (15:20 +0000)
(without some kind of a post-transfer identicality check, at least)
so I'm removing the code that tried to make the two play nice.

NEWS
generator.c

diff --git a/NEWS b/NEWS
index 6937154..bfc2d83 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -41,9 +41,6 @@ Changes since 2.6.8:
     - If the receiving side fails to create a directory, it will now skip
       trying to update everything that is inside that directory.
 
-    - Make sure that the --link-dest option can still do its job even when -I
-      is specified.
-
     - If --link-dest is specified with --checksum but without --times, rsync
       will now allow a hard-link to be created to a matching link-dest file
       even when the file's modify-time doesn't match the server's file.
index ae7c0ea..b36bc4d 100644 (file)
@@ -607,15 +607,10 @@ static int try_dests_reg(struct file_struct *file, char *fname, int ndx,
                         char *cmpbuf, STRUCT_STAT *stp, int itemizing,
                         int maybe_ATTRS_REPORT, enum logcode code)
 {
-       int save_ignore_times = ignore_times;
        int best_match = -1;
        int match_level = 0;
        int j = 0;
 
-       /* We can't let ignore_times affect the unchanged_file() test in
-        * an alternate-dest dir or we will never find any matches. */
-       ignore_times = 0;
-
        do {
                pathjoin(cmpbuf, MAXPATHLEN, basis_dir[j], fname);
                if (link_stat(cmpbuf, stp, 0) < 0 || !S_ISREG(stp->st_mode))
@@ -644,8 +639,6 @@ static int try_dests_reg(struct file_struct *file, char *fname, int ndx,
                break;
        } while (basis_dir[++j] != NULL);
 
-       ignore_times = save_ignore_times;
-
        if (!match_level)
                return -1;
 
@@ -1154,7 +1147,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
                                goto return_with_success;
                        return;
                }
-               if (j != -1) {
+               if (j >= 0) {
                        fnamecmp = fnamecmpbuf;
                        fnamecmp_type = j;
                        statret = 0;