]> git.ipfire.org Git - thirdparty/coreutils.git/commitdiff
mv -T DIR EMPTY_DIR no longer fails
authorJim Meyering <jim@meyering.net>
Thu, 11 May 2006 08:55:04 +0000 (08:55 +0000)
committerJim Meyering <jim@meyering.net>
Thu, 11 May 2006 08:55:04 +0000 (08:55 +0000)
(copy_internal): Don't manually prohibit a move where
the destination is an existing directory.  Sometimes doing that is
valid.  Let the rename system call enforce the rules.  That is
allowed only when the source is a directory and the destination
directory (to be replaced) is empty.  Reported by Eric Blake.

src/copy.c

index 645b90b468fd73ba6fc67199846eaeb177a9114f..a6f6ec54ea6a871888373e5f02e0a369aa0b5405 100644 (file)
@@ -1157,14 +1157,6 @@ copy_internal (char const *src_name, char const *dst_name,
 
          if (x->move_mode)
            {
-             /* In move_mode, DEST may not be an existing directory.  */
-             if (S_ISDIR (dst_sb.st_mode) && x->backup_type == no_backups)
-               {
-                 error (0, 0, _("cannot overwrite directory %s"),
-                        quote (dst_name));
-                 return false;
-               }
-
              /* Don't allow user to move a directory onto a non-directory.  */
              if (S_ISDIR (src_sb.st_mode) && !S_ISDIR (dst_sb.st_mode)
                  && x->backup_type == no_backups)