summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael J Gruber <git@drmicha.warpmail.net>2009-01-14 18:03:22 +0100
committerJunio C Hamano <gitster@pobox.com>2009-01-14 09:34:22 -0800
commitbe17262d13f5f3df5ee9635b11dad180613e9cbd (patch)
tree34fb5f904503c7af364219ab030d5516262d0197
parent3772923f1429f2888074e698c36c071b864effe3 (diff)
downloadgit-be17262d13f5f3df5ee9635b11dad180613e9cbd.tar.gz
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>
-rw-r--r--builtin-mv.c1
-rwxr-xr-xt/t7001-mv.sh2
2 files changed, 2 insertions, 1 deletions
diff --git a/builtin-mv.c b/builtin-mv.c
index 4f65b5ae9b..bce9959293 100644
--- a/builtin-mv.c
+++ b/builtin-mv.c
@@ -192,6 +192,7 @@ int cmd_mv(int argc, const char **argv, const char *prefix)
memmove(destination + i,
destination + i + 1,
(argc - i) * sizeof(char *));
+ i--;
}
} else
die ("%s, source=%s, destination=%s",
diff --git a/t/t7001-mv.sh b/t/t7001-mv.sh
index fddcdde6eb..19493c8052 100755
--- a/t/t7001-mv.sh
+++ b/t/t7001-mv.sh
@@ -49,7 +49,7 @@ test_expect_success \
test -f untracked1 &&
test ! -f path0/untracked1'
-test_expect_failure \
+test_expect_success \
'checking -k on multiple untracked files' \
'touch untracked2 &&
git mv -k untracked1 untracked2 path0 &&