Bug 27970

Summary: cp -pR does not preserve modification times of the directories if they are not empty
Product: Base System Reporter: christophe.deroulers <christophe.deroulers>
Component: binAssignee: freebsd-bugs (Nobody) <bugs>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: 4.2-RELEASE   
Hardware: Any   
OS: Any   

Description christophe.deroulers 2001-06-08 18:40:01 UTC
 If a directory is not empty, cp -pR will correctly set the modification time of the directory after copy but will overwrite it with the current time when it will add the files inside the directory.

 A similar problem occured with OpenBSD cp's and it was fixed some days ago, so it probably comes from the base code taken from BSD.

 NB This is maybe the same problem as bin/16155.

Fix: 

Look at OpenBSD cp bug fix ?
How-To-Repeat:  mkdir a
 touch a/b
 touch -m -t 01010000 a
# a has now time January, 1st at 00:00
 cp -pR a b
# b should have time January, 1st but has not.
Comment 1 Peter Pentchev 2001-06-08 18:55:13 UTC
On Fri, Jun 08, 2001 at 10:35:52AM -0700, christophe.deroulers@ens.fr wrote:
> 
> >Number:         27970
> >Category:       bin
> >Synopsis:       cp -pR does not preserve modification times of the directories if they are not empty
> >Originator:     Christophe Deroulers
> >Release:        FreeBSD 4.2-RELEASE
> >Organization:
> Ecole normale superieure
> >Environment:
> FreeBSD pc-aa3.ens.fr 4.2-RELEASE FreeBSD 4.2-RELEASE #0: Mon Nov 20 13:02:55 GMT 2000     jkh@bento.FreeBSD.org:/usr/src/sys/compile/GENERIC  i386
> 
> >Description:
>  If a directory is not empty, cp -pR will correctly set the modification time of the directory after copy but will overwrite it with the current time when it will add the files inside the directory.
> 
>  A similar problem occured with OpenBSD cp's and it was fixed some days ago, so it probably comes from the base code taken from BSD.
> 
>  NB This is maybe the same problem as bin/16155.
> 
> >How-To-Repeat:
>  mkdir a
>  touch a/b
>  touch -m -t 01010000 a
> # a has now time January, 1st at 00:00
>  cp -pR a b
> # b should have time January, 1st but has not.
> 
> >Fix:
>  Look at OpenBSD cp bug fix ?

Even before looking at this in detail, I feel like it might be very
similar to the one in PR bin/20646..  And apparently the patch in
bin/20646 does not quite fix it - I can reproduce this here, although
I'm running with that patch.

G'luck,
Peter

-- 
I am not the subject of this sentence.
Comment 2 Stephen McKay freebsd_committer freebsd_triage 2001-12-15 14:15:13 UTC
State Changed
From-To: open->closed

Fixed in cp.c rev 1.28 and 1.24.2.4