install.c: Preserve time stamps before changing owner or file mode bits,

for consistency with other coreutils programs.
This commit is contained in:
Paul Eggert 2006-12-04 10:06:11 +01:00 committed by Jim Meyering
parent 1ea616697a
commit 8406e92795
2 changed files with 9 additions and 4 deletions

View File

@ -1,3 +1,9 @@
2006-12-03 Paul Eggert <eggert@cs.ucla.edu>
* src/install.c (install_file_in_file): Preserve time stamps
before changing owner or file mode bits, for consistency with
other coreutils programs.
2006-12-03 Jim Meyering <jim@meyering.net>
* tests/misc/date-sec: Output a fixed string.

View File

@ -459,11 +459,10 @@ install_file_in_file (const char *from, const char *to,
return false;
if (strip_files)
strip (to);
if (! change_attributes (to))
if (x->preserve_timestamps && (strip_files || ! S_ISREG (from_sb.st_mode))
&& ! change_timestamps (&from_sb, to))
return false;
if (x->preserve_timestamps && (strip_files || ! S_ISREG (from_sb.st_mode)))
return change_timestamps (&from_sb, to);
return true;
return change_attributes (to);
}
/* Copy file FROM into directory TO_DIR, keeping its same name,