mv and "cp -r" no longer fail when invoked with two arguments
authorJim Meyering <jim@meyering.net>
Fri, 8 Sep 2006 17:08:53 +0000 (17:08 +0000)
committerJim Meyering <jim@meyering.net>
Fri, 8 Sep 2006 17:08:53 +0000 (17:08 +0000)
commitd7619b5fe899074ef196154b2eec54d51290d450
treeb9ce1d8b1456ecc09756cec92f39451542830c6a
parentfc1e25cfa5d3dd30062ec481e44a90e66a40a6aa
mv and "cp -r" no longer fail when invoked with two arguments
where the first one names a directory and the second name ends in
a slash and doesn't exist.  E.g., "mv dir B/", for nonexistent B,
now succeeds, once more. This reverts part of the 2004-06-27
change for 5.3.0.
* NEWS: Say the above.
* src/mv.c (target_directory_operand): Don't require (here)
that the target operand "look like" a directory.  This change
pushes the test down to the rename syscall level, where a
"mv dir existing-non-dir/" will mistakenly succeed on older systems
that ignore trailing slashes in the rename destination argument.
* src/cp.c (target_directory_operand): Likewise, but for cp.
* tests/mv/trailing-slash: Exercise the above fixes.
* tests/cp/trailing-slash: New file.
* tests/cp/Makefile.am (EXTRA_DIST): Add trailing-slash.
ChangeLog
NEWS
src/cp.c
src/mv.c
tests/cp/Makefile.am
tests/cp/trailing-slash [new file with mode: 0644]
tests/mv/trailing-slash