diff options
Diffstat (limited to 'src/copy.c')
-rw-r--r-- | src/copy.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/copy.c b/src/copy.c index cf9f1b259..3be9d3825 100644 --- a/src/copy.c +++ b/src/copy.c @@ -491,7 +491,7 @@ copy_internal (const char *src_path, const char *dst_path, return 1; } - if (x->update && src_sb.st_mtime <= dst_sb.st_mtime) + if (x->update && MTIME_CMP (src_sb, dst_sb) <= 0) return 0; } @@ -818,6 +818,10 @@ copy_internal (const char *src_path, const char *dst_path, { struct utimbuf utb; + /* There's currently no interface to set file timestamps with + better than 1-second resolution, so discard any fractional + part of the source timestamp. */ + utb.actime = src_sb.st_atime; utb.modtime = src_sb.st_mtime; |