> export POSIXLY_CORRECT=1 > mkdir mv_test > cd mv_test > mkdir a c > ln -s a b > mv -v b/ c > alias mv > which mv > > I expected, as is written, that the directory a will be moved into > directory c (the symbolic link b to directory a will be dereferenced), > but the link b has been moved. There is no alias for mv, mv resides in > /bin.
Whoops. I forgot a minor detail :-) Your report exposed a bug in mv.c: mv (coreutils-4.5.3) mistakenly strips trailing slashes from the SOURCE name in some cases. Here's a fix: Index: mv.c =================================================================== RCS file: /fetish/cu/src/mv.c,v retrieving revision 1.140 diff -u -p -u -p -r1.140 mv.c --- mv.c 31 Aug 2002 08:52:10 -0000 1.140 +++ mv.c 17 Nov 2002 09:34:18 -0000 @@ -284,14 +284,11 @@ movefile (char *source, char *dest, int if (dest_is_dir || (dest_had_trailing_slash && !is_real_dir (source))) { /* DEST is a directory; build full target filename. */ - char *src_basename; - char *new_dest; - - strip_trailing_slashes (source); - src_basename = base_name (source); - new_dest = path_concat (dest, src_basename, NULL); + char const *src_basename = base_name (source); + char *new_dest = path_concat (dest, src_basename, NULL); if (new_dest == NULL) xalloc_die (); + strip_trailing_slashes (new_dest); fail = do_move (source, new_dest, x); free (new_dest); } Maybe now, my preceding message makes more sense, since with the modified mv, your example evokes this diagnostic: $ ./mv b/ c ./mv: cannot move `b/' to `c/b': Not a directory [Exit 1] Thanks again, Jim BTW, the latest sources are here: ftp://alpha.gnu.org/gnu/fetish/coreutils-4.5.3.tar.gz _______________________________________________ Bug-fileutils mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/bug-fileutils