From 6226396c4ac4980518d7a97203574501a4562090 Mon Sep 17 00:00:00 2001 From: Wayne Davison Date: Tue, 4 Mar 2008 22:48:01 -0800 Subject: [PATCH] Don't call utimes() on a dir that doesn't need its mtime changed. --- generator.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/generator.c b/generator.c index 8e25aeca..52732016 100644 --- a/generator.c +++ b/generator.c @@ -1949,8 +1949,12 @@ static void touch_up_dirs(struct file_list *flist, int ndx) fname = f_name(file, NULL); if (!(file->mode & S_IWUSR)) do_chmod(fname, file->mode); - if (need_retouch_dir_times) - set_modtime(fname, file->modtime, file->mode); + if (need_retouch_dir_times) { + STRUCT_STAT st; + if (link_stat(fname, &st, 0) == 0 + && cmp_time(st.st_mtime, file->modtime) != 0) + set_modtime(fname, file->modtime, file->mode); + } if (allowed_lull && !(counter % lull_mod)) maybe_send_keepalive(); else if (!(counter & 0xFF)) -- 2.34.1