summaryrefslogtreecommitdiff
path: root/t
diff options
context:
space:
mode:
authorLibravatar Junio C Hamano <gitster@pobox.com>2007-12-14 11:57:22 -0800
committerLibravatar Junio C Hamano <gitster@pobox.com>2007-12-14 15:39:54 -0800
commit1eb1e9eea480059d4fba171e74a4375b8191e3f3 (patch)
tree342a087ad1337f4e3f32315fc5c3c2423a0785e4 /t
parentgit-svn: handle our top-level path being deleted and later re-added (diff)
downloadtgif-1eb1e9eea480059d4fba171e74a4375b8191e3f3.tar.xz
commit: allow --amend to reuse message from another commit
After tentatively applying a patch from a contributor, you can get a replacement patch with corrected code and unusable commit log message. In such a case, this sequence ought to give you an editor based on the message in the earlier commit, to let you describe an incremental improvement: git reset --hard HEAD^ ;# discard the earlier one git am <corrected-patch git commit --amend -c HEAD@{1} Unfortunately, --amend insisted reusing the message from the commit being amended, ignoring the -c option. This corrects it. Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't')
-rwxr-xr-xt/t7501-commit.sh17
1 files changed, 17 insertions, 0 deletions
diff --git a/t/t7501-commit.sh b/t/t7501-commit.sh
index 05aa97d6f3..d1a415a126 100755
--- a/t/t7501-commit.sh
+++ b/t/t7501-commit.sh
@@ -310,4 +310,21 @@ test_expect_success 'same tree (merge and amend merge)' '
'
+test_expect_success 'amend using the message from another commit' '
+
+ git reset --hard &&
+ test_tick &&
+ git commit --allow-empty -m "old commit" &&
+ old=$(git rev-parse --verify HEAD) &&
+ test_tick &&
+ git commit --allow-empty -m "new commit" &&
+ new=$(git rev-parse --verify HEAD) &&
+ test_tick &&
+ git commit --allow-empty --amend -C "$old" &&
+ git show --pretty="format:%ad %s" "$old" >expected &&
+ git show --pretty="format:%ad %s" HEAD >actual &&
+ diff -u expected actual
+
+'
+
test_done