Skip to content

Commit 745bc77

Browse files
committed
Merge branch 'maint-1.6.0' into maint
* maint-1.6.0: builtin-mv.c: check for unversionned files before looking at the destination. Add a testcase for "git mv -f" on untracked files. Missing && in t/t7001.sh.
2 parents f081731 + 5aed3c6 commit 745bc77

File tree

2 files changed

+13
-5
lines changed

2 files changed

+13
-5
lines changed

builtin-mv.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,9 @@ int cmd_mv(int argc, const char **argv, const char *prefix)
162162
}
163163
argc += last - first;
164164
}
165-
} else if (lstat(dst, &st) == 0) {
165+
} else if (cache_name_pos(src, length) < 0)
166+
bad = "not under version control";
167+
else if (lstat(dst, &st) == 0) {
166168
bad = "destination exists";
167169
if (force) {
168170
/*
@@ -177,9 +179,7 @@ int cmd_mv(int argc, const char **argv, const char *prefix)
177179
} else
178180
bad = "Cannot overwrite";
179181
}
180-
} else if (cache_name_pos(src, length) < 0)
181-
bad = "not under version control";
182-
else if (string_list_has_string(&src_for_dst, dst))
182+
} else if (string_list_has_string(&src_for_dst, dst))
183183
bad = "multiple sources for the same target";
184184
else
185185
string_list_insert(dst, &src_for_dst);

t/t7001-mv.sh

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,9 +55,17 @@ test_expect_success \
5555
git mv -k untracked1 untracked2 path0 &&
5656
test -f untracked1 &&
5757
test -f untracked2 &&
58-
test ! -f path0/untracked1
58+
test ! -f path0/untracked1 &&
5959
test ! -f path0/untracked2'
6060

61+
test_expect_success \
62+
'checking -f on untracked file with existing target' \
63+
'touch path0/untracked1 &&
64+
git mv -f untracked1 path0
65+
test ! -f .git/index.lock &&
66+
test -f untracked1 &&
67+
test -f path0/untracked1'
68+
6169
# clean up the mess in case bad things happen
6270
rm -f idontexist untracked1 untracked2 \
6371
path0/idontexist path0/untracked1 path0/untracked2 \

0 commit comments

Comments
 (0)