OSDN Git Service

replace: add test for --graft with signed commit
authorChristian Couder <chriscool@tuxfamily.org>
Sat, 19 Jul 2014 15:01:13 +0000 (17:01 +0200)
committerJunio C Hamano <gitster@pobox.com>
Mon, 21 Jul 2014 19:06:20 +0000 (12:06 -0700)
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t6050-replace.sh

index f854dae..cebab63 100755 (executable)
@@ -7,6 +7,7 @@ test_description='Tests replace refs functionality'
 exec </dev/null
 
 . ./test-lib.sh
+. "$TEST_DIRECTORY/lib-gpg.sh"
 
 add_and_commit_file ()
 {
@@ -394,4 +395,27 @@ test_expect_success '--graft with and without already replaced object' '
        git replace -d $HASH5
 '
 
+test_expect_success GPG 'set up a signed commit' '
+       echo "line 17" >>hello &&
+       echo "line 18" >>hello &&
+       git add hello &&
+       test_tick &&
+       git commit --quiet -S -m "hello: 2 more lines in a signed commit" &&
+       HASH8=$(git rev-parse --verify HEAD) &&
+       git verify-commit $HASH8
+'
+
+test_expect_success GPG '--graft with a signed commit' '
+       git cat-file commit $HASH8 >orig &&
+       git replace --graft $HASH8 &&
+       git cat-file commit $HASH8 >repl &&
+       commit_has_parents $HASH8 &&
+       test_must_fail git verify-commit $HASH8 &&
+       sed -n -e "/^tree /p" -e "/^author /p" -e "/^committer /p" orig >expected &&
+       echo >>expected &&
+       sed -e "/^$/q" repl >actual &&
+       test_cmp expected actual &&
+       git replace -d $HASH8
+'
+
 test_done