summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Meyering <jim@meyering.net>2006-05-11 08:55:04 +0000
committerJim Meyering <jim@meyering.net>2006-05-11 08:55:04 +0000
commit156459c2f5e368fdd2c55fc051caeb48fd995b4c (patch)
tree0d79324b2c85df8bd82ca5a295aa1605adea020c
parent8ebce3d9a5d171b2b67b342fa9d3672f419b14b7 (diff)
downloadcoreutils-156459c2f5e368fdd2c55fc051caeb48fd995b4c.tar.xz
mv -T DIR EMPTY_DIR no longer fails
(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.
-rw-r--r--src/copy.c8
1 files changed, 0 insertions, 8 deletions
diff --git a/src/copy.c b/src/copy.c
index 645b90b46..a6f6ec54e 100644
--- a/src/copy.c
+++ b/src/copy.c
@@ -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)