summaryrefslogtreecommitdiff
path: root/generator.c
diff options
context:
space:
mode:
authorWayne Davison <wayned@samba.org>2006-05-16 22:27:26 +0000
committerWayne Davison <wayned@samba.org>2006-05-16 22:27:26 +0000
commit6bfc7b4d794d2d246cf9b21f17b7acacfa1d01ea (patch)
treea44606570d18279a828a0cca878351337aad7ba4 /generator.c
parentb3e8e7c79e5d1fb33556ea3cb9cf9830085c22a5 (diff)
downloadrsync-6bfc7b4d794d2d246cf9b21f17b7acacfa1d01ea.tar.gz
rsync-6bfc7b4d794d2d246cf9b21f17b7acacfa1d01ea.tar.bz2
rsync-6bfc7b4d794d2d246cf9b21f17b7acacfa1d01ea.zip
Tweaked a couple things in try_dests_reg().
Diffstat (limited to 'generator.c')
-rw-r--r--generator.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/generator.c b/generator.c
index e4023d32..8bdabde7 100644
--- a/generator.c
+++ b/generator.c
@@ -607,14 +607,13 @@ static int try_dests_reg(struct file_struct *file, char *fname, int ndx,
int maybe_ATTRS_REPORT, enum logcode code)
{
int save_ignore_times = ignore_times;
- int save_size_only = size_only;
int best_match = -1;
int match_level = 0;
int j = 0;
- /* We can't let these send-affecting options affect our checking
- * for identical files in the alternate basis dirs. */
- ignore_times = size_only = 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);
@@ -634,7 +633,7 @@ static int try_dests_reg(struct file_struct *file, char *fname, int ndx,
case 2:
if (!unchanged_attrs(file, stp))
continue;
- if (always_checksum
+ if (always_checksum && preserve_times
&& cmp_time(stp->st_mtime, file->modtime))
continue;
best_match = j;
@@ -645,7 +644,6 @@ static int try_dests_reg(struct file_struct *file, char *fname, int ndx,
} while (basis_dir[++j] != NULL);
ignore_times = save_ignore_times;
- size_only = save_size_only;
if (!match_level)
return -1;