summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar Christian Couder <chriscool@tuxfamily.org>2014-07-19 17:01:13 +0200
committerLibravatar Junio C Hamano <gitster@pobox.com>2014-07-21 12:06:20 -0700
commit60e2f5a5af6e605a8de48d2cd1b21c690a84ae75 (patch)
tree1961701d6e7986e0c86d212811b7a1cb7bf060c5
parentreplace: remove signature when using --graft (diff)
downloadtgif-60e2f5a5af6e605a8de48d2cd1b21c690a84ae75.tar.xz
replace: add test for --graft with signed commit
Signed-off-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rwxr-xr-xt/t6050-replace.sh24
1 files changed, 24 insertions, 0 deletions
diff --git a/t/t6050-replace.sh b/t/t6050-replace.sh
index f854dae79c..cebab63e19 100755
--- a/t/t6050-replace.sh
+++ b/t/t6050-replace.sh
@@ -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