author | Junio C Hamano <gitster@pobox.com> | |
Thu, 15 Jan 2009 06:34:05 +0000 (22:34 -0800) | ||
committer | Junio C Hamano <gitster@pobox.com> | |
Thu, 15 Jan 2009 06:34:05 +0000 (22:34 -0800) |
* maint-1.6.0:
fix handling of multiple untracked files for git mv -k
add test cases for "git mv -k"
fix handling of multiple untracked files for git mv -k
add test cases for "git mv -k"
builtin-mv.c | patch | blob | history | |
t/t7001-mv.sh | patch | blob | history |
diff --git a/builtin-mv.c b/builtin-mv.c
index 4f65b5ae9baf66953e79886fd93fe31786b24d36..bce9959293e30925c4b16c40ac33a3f2e0474e30 100644 (file)
--- a/builtin-mv.c
+++ b/builtin-mv.c
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 575ef5beb2bdd3a0814fb45010ae7889b936f543..ef2e78f9df951cfacf5914dfff2a218d2e6f89f7 100755 (executable)
--- a/t/t7001-mv.sh
+++ b/t/t7001-mv.sh
'git diff-tree -r -M --name-status HEAD^ HEAD | \
grep "^R100..*path1/COPYING..*path0/COPYING"'
+test_expect_success \
+ 'checking -k on non-existing file' \
+ 'git mv -k idontexist path0'
+
+test_expect_success \
+ 'checking -k on untracked file' \
+ 'touch untracked1 &&
+ git mv -k untracked1 path0 &&
+ test -f untracked1 &&
+ test ! -f path0/untracked1'
+
+test_expect_success \
+ 'checking -k on multiple untracked files' \
+ 'touch untracked2 &&
+ git mv -k untracked1 untracked2 path0 &&
+ test -f untracked1 &&
+ test -f untracked2 &&
+ test ! -f path0/untracked1
+ test ! -f path0/untracked2'
+
+# clean up the mess in case bad things happen
+rm -f idontexist untracked1 untracked2 \
+ path0/idontexist path0/untracked1 path0/untracked2 \
+ .git/index.lock
+
test_expect_success \
'adding another file' \
'cp "$TEST_DIRECTORY"/../README path0/README &&