From c0c8685d46d106d5bf5eaed47b970db4ded672b3 Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Sat, 26 Jan 2008 12:29:41 +0100 Subject: Improve a warning about non-portable "mv" usage. * doc/coreutils.texi (mv invocation): Adjust the warning: moving a dir-symlink-specified-with-a-trailing-slash works in a surprising manner only on some systems. Reported by Tomas Pospisek in http://bugs.debian.org/343652. --- ChangeLog | 8 ++++++++ doc/coreutils.texi | 12 ++++++++---- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 427c8ebb6..24c621d22 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2008-01-26 Jim Meyering + + Improve a warning about non-portable "mv" usage. + * doc/coreutils.texi (mv invocation): Adjust the warning: moving a + dir-symlink-specified-with-a-trailing-slash works in a surprising + manner only on some systems. Reported by Tomas Pospisek in + http://bugs.debian.org/343652. + 2008-01-26 Mike Frysinger * src/dircolors.hin (TERM): Add jfbterm. diff --git a/doc/coreutils.texi b/doc/coreutils.texi index 3785eae9f..0de856089 100644 --- a/doc/coreutils.texi +++ b/doc/coreutils.texi @@ -7773,10 +7773,14 @@ is a terminal, and the @option{-f} or @option{--force} option is not given, own the file, or have write permission on its directory.) If the response is not affirmative, the file is skipped. -@emph{Warning}: If you try to move a symlink that points to a directory, -and you specify the symlink with a trailing slash, then @command{mv} -doesn't move the symlink but instead moves the directory referenced -by the symlink. @xref{Trailing slashes}. +@emph{Warning}: Avoid specifying a source name with a trailing slash, +when it might be a symlink to a directory. +Otherwise, @command{mv} may do something very surprising, since +its behavior depends on the underlying rename system call. +On modern Linux systems, it fails with @code{errno=ENOTDIR}. +However, on other systems (at least FreeBSD 6.1 and Solaris 10) it silently +renames not the symlink but rather the directory referenced by the symlink. +@xref{Trailing slashes}. The program accepts the following options. Also see @ref{Common options}. -- cgit v1.2.3-70-g09d2