From 3772923f1429f2888074e698c36c071b864effe3 Mon Sep 17 00:00:00 2001 From: Michael J Gruber Date: Wed, 14 Jan 2009 18:03:21 +0100 Subject: [PATCH 1/4] add test cases for "git mv -k" Add test cases for ignoring nonexisting and untracked files using the -k option to "git mv". There is one known breakage related to multiple untracked files specfied as consecutive arguments. Signed-off-by: Michael J Gruber Signed-off-by: Junio C Hamano --- t/t7001-mv.sh | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/t/t7001-mv.sh b/t/t7001-mv.sh index 66bb1264ff..fddcdde6eb 100755 --- a/t/t7001-mv.sh +++ b/t/t7001-mv.sh @@ -38,6 +38,31 @@ test_expect_success \ '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_failure \ + '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 ../../README path0/README && From be17262d13f5f3df5ee9635b11dad180613e9cbd Mon Sep 17 00:00:00 2001 From: Michael J Gruber Date: Wed, 14 Jan 2009 18:03:22 +0100 Subject: [PATCH 2/4] 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 Signed-off-by: Junio C Hamano --- builtin-mv.c | 1 + t/t7001-mv.sh | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) 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 && From 8dca683346fcd17684eb6646c486461cae38241e Mon Sep 17 00:00:00 2001 From: Miklos Vajna Date: Thu, 15 Jan 2009 01:33:19 +0100 Subject: [PATCH 3/4] Make t3411 executable Signed-off-by: Miklos Vajna Signed-off-by: Junio C Hamano --- t/t3411-rebase-preserve-around-merges.sh | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 t/t3411-rebase-preserve-around-merges.sh diff --git a/t/t3411-rebase-preserve-around-merges.sh b/t/t3411-rebase-preserve-around-merges.sh old mode 100644 new mode 100755 From eb475bfa05dc77462c02ef403d7be5faadf8e64f Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Wed, 14 Jan 2009 22:43:04 -0800 Subject: [PATCH 4/4] Update draft release notes to 1.6.1.1 --- Documentation/RelNotes-1.6.1.1.txt | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/Documentation/RelNotes-1.6.1.1.txt b/Documentation/RelNotes-1.6.1.1.txt index 10b38e6ec1..cff0d8b98d 100644 --- a/Documentation/RelNotes-1.6.1.1.txt +++ b/Documentation/RelNotes-1.6.1.1.txt @@ -4,6 +4,11 @@ GIT v1.6.1.1 Release Notes Fixes since v1.6.1 ------------------ +* "git apply" took file modes from the patch text and updated the mode + bits of the target tree even when the patch was not about mode changes. + +* "git checkout $tree" did not trigger an error. + * "git describe --all" complained when a commit is described with a tag, which was nonsense. @@ -13,11 +18,27 @@ Fixes since v1.6.1 * "git daemon", and "git merge-file" are more careful when freopen fails and barf, instead of going on and writing to unopened filehandle. -Other documentation fixes. +* "git http-push" did not like some RFC 4918 compliant DAV server + responses. + +* "git merge -s recursive" mistakenly overwritten an untracked file in the + work tree upon delete/modify conflict. + +* "git merge -s recursive" didn't leave the index unmerged for entries with + rename/delete conflictd. + +* "git merge -s recursive" clobbered untracked files in the work tree. + +* "git mv -k" with more than one errorneous paths misbehaved. + +* "git rebase -i" issued an unnecessary error message upon a user error of + marking the first commit to be "squash"ed. + +Other documentation updates. --- exec >/var/tmp/1 -O=v1.6.1-15-ga9e67c8 +O=v1.6.1-47-g914186a echo O=$(git describe maint) git shortlog --no-merges $O..maint