fix handling of multiple untracked files for git mv -k
The "-k" option to "git mv" should allow specifying multiple untracked files. Currently, multiple untracked files raise an assertion if they appear consecutively as arguments. Fix this by decrementing the loop index after removing one entry from the array of arguments. Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
3772923f14
commit
be17262d13
@ -192,6 +192,7 @@ int cmd_mv(int argc, const char **argv, const char *prefix)
|
|||||||
memmove(destination + i,
|
memmove(destination + i,
|
||||||
destination + i + 1,
|
destination + i + 1,
|
||||||
(argc - i) * sizeof(char *));
|
(argc - i) * sizeof(char *));
|
||||||
|
i--;
|
||||||
}
|
}
|
||||||
} else
|
} else
|
||||||
die ("%s, source=%s, destination=%s",
|
die ("%s, source=%s, destination=%s",
|
||||||
|
@ -49,7 +49,7 @@ test_expect_success \
|
|||||||
test -f untracked1 &&
|
test -f untracked1 &&
|
||||||
test ! -f path0/untracked1'
|
test ! -f path0/untracked1'
|
||||||
|
|
||||||
test_expect_failure \
|
test_expect_success \
|
||||||
'checking -k on multiple untracked files' \
|
'checking -k on multiple untracked files' \
|
||||||
'touch untracked2 &&
|
'touch untracked2 &&
|
||||||
git mv -k untracked1 untracked2 path0 &&
|
git mv -k untracked1 untracked2 path0 &&
|
||||||
|
Loading…
Reference in New Issue
Block a user