Sorry I was copying this out from a VM, so I ended up typing it up
wrong here:

$ mkdir Foo
$ touch -t 200001010000 Foo
$ ls -dlT Foo
drwxr-xr-x  2 bob  bob  512 Jan  1 00:00:00 2000 Foo
$ ls -dluT Foo
drwxr-xr-x  2 bob  bob  512 Jan  1 00:00:00 2000 Foo
$ mkdir Bar
$ mv Foo Bar/
$ ls -dlT Bar/Foo
drwxr-xr-x  2 bob  bob  512 Apr 12 07:55:30 2017 Bar/Foo
$ ls -dluT Bar/Foo
drwxr-xr-x  2 bob  bob  512 Jan  1 00:00:00 2000 Bar/Foo

Running openbsd -current (Feb 26)

On Wed, 12 Apr 2017 08:37:37 +1000
<[email protected]> wrote:

> On Tue, 11 Apr 2017 16:54:29 +0200
> Ingo Schwarze <[email protected]> wrote:
> 
> > Hi,
> > 
> > [email protected] wrote on Fri, Apr 07, 2017 at 12:25:10PM
> > +1000:
> >   
> > > Although mv(1) will preserve atime and mtime for moved directories
> > > if moved to a different file system, it doesn't preserve them when
> > > moved in the same file system.    
> > 
> > Cannot reproduce.
> > 
> >    $ mkdir Foo
> >    $ touch -t 200001010000 Foo 
> >    $ ls -dl Foo                
> >   drwxr-xr-x  2 schwarze  schwarze  512 Jan  1  2000 Foo
> >    $ ls -dlu Foo
> >   drwxr-xr-x  2 schwarze  schwarze  512 Jan  1  2000 Foo
> >    $ mv Foo Bar
> >    $ ls -dl Bar  
> >   drwxr-xr-x  2 schwarze  schwarze  512 Jan  1  2000 Bar
> >    $ ls -dlu Bar
> >   drwxr-xr-x  2 schwarze  schwarze  512 Jan  1  2000 Bar  
> 
> I can:
> 
> $ mkdir Foo
> $ touch -t 200001010000 Foo
> $ ls -dlT Foo
> drwxr-xr-x  2 bob  bob  512 Jan  1 00:00:00 2000 Foo
> $ ls -dluT Foo
> drwxr-xr-x  2 bob  bob  512 Jan  1 00:00:00 2000 Foo
> $ mkdir Bar
> $ mv Foo Bar/
> $ ls -dlT Bar/Foo
> drwxr-xr-x  2 bob  bob  512 Apr 12 07:55:30 2017 Foo/Bar
> $ ls -dluT Bar/Foo
> drwxr-xr-x  2 bob  bob  512 Jan  1 00:00:00 2000 Foo/Bar
> 
> Note that I have noatime on this FS.
> 
> > Sounds like a bad idea.  Do not add non-standard options to standard
> > utilities unless they are useful to a very unusual degree.  Even if
> > there is some corner case that you failed to describe, this seems
> > by far not important enough for adding an option.  
> 
> The problem I am solving here is that, when moving folders into other
> folders (often to clean up its parent a little and organise the FS),
> mv(1) does not preserve the time stamps of moved directories.
> 
> If I move the directory into another FS, this information is
> preserved.
> 
> > Besides, neither FreeBSD nor NetBSD have -p, so it would be an
> > egregious example of introducing gratuitious incompatibility.  
> 
> I don't see any gratuitious incompatibility here. The utility behaves
> exactly as before without the -p option, and will therefore be
> compatible with existing scripts.
> 
> It may help to modify the behaviour of rename(2), since there is
> nothing I see in the POSIX standard
> (http://pubs.opengroup.org/onlinepubs/9699919799/functions/rename.html)
> about requiring the change in time stamps. The advantage is consistent
> behaviour across all applications rather than just mv(1).
> 

Reply via email to