Skip to content

Commit c2cbefc

Browse files
committed
mv: fix error for moving directory to another
If both directories D1 and D2 already exists, and further there is a filesystem entity D2/D1, "git mv D1 D2" would fail, and we get an error message that says: "cannot move directory over file, source=D1, destination=D2/D1" regardless of the type of existing "D2/D1". If it is a file, the message is correct, but if it is a directory, it is not (we could make the D2/D1 directory a union of its original contents and what was in D1/, but that is not what we do). The code that decies to issue the error message only checks for existence of "D2/D1" and does not care what kind of thing sits at the path. Rephrase the message to say "destination already exists, source=D1, destination=D2/D1" that would be suitable for any kind of thing being in the way. Signed-off-by: Junio C Hamano <[email protected]>
1 parent fb7d80e commit c2cbefc

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

builtin/mv.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -304,7 +304,7 @@ int cmd_mv(int argc, const char **argv, const char *prefix)
304304
}
305305
if (S_ISDIR(st.st_mode)
306306
&& lstat(dst, &st) == 0) {
307-
bad = _("cannot move directory over file");
307+
bad = _("destination already exists");
308308
goto act_on_entry;
309309
}
310310

0 commit comments

Comments
 (0)