From: Shlok Kulshreshtha <diy2903@gmail.com>
To: git@vger.kernel.org
Cc: Junio C Hamano <gitster@pobox.com>,
Shlok Kulshreshtha <diy2903@gmail.com>
Subject: [PATCH 2/2] t: use commit_body to extract commit message bodies
Date: Mon, 27 Jul 2026 04:18:03 +0530 [thread overview]
Message-ID: <20260726224803.45131-3-diy2903@gmail.com> (raw)
In-Reply-To: <20260726224803.45131-1-diy2903@gmail.com>
Replace the "git cat-file commit | sed" idiom with commit_body across the
test suite: 60 sites in 11 files. The idiom appears in four equivalent
spellings -- piped or written to a file first, "sed -e" or plain "sed",
"\$" or "$" in the address -- all producing byte-identical output; they
all collapse to the same commit_body call.
Two sites needed more than a mechanical substitution:
* t7600.sh ("merge --no-ff --edit") greps the raw commit object for a
phrase before stripping its header for the final comparison. The
phrase is part of the commit body, not the header, so the grep can
run against the already-stripped body instead, letting both steps
share one commit_body call.
* t3900-i18n-commit.sh pipes the stripped body into "iconv" to test
re-encoding. Piping commit_body's output into "iconv" would reintroduce
an exit-code hole one line after removing it elsewhere, so this site
writes the body to a file first and reads that, keeping the &&-chain
intact.
Some greps for sed -e "1,/^\*$/d" left unconverted, as they are not extracting a commit's message body:
* t9001-send-email.sh strips mail headers from a message file, not a
commit object.
* t1450-fsck.sh strips the header off a hand-built commit object while
constructing a malformed one for fsck to reject.
* t4014-format-patch.sh runs the same sed address on a ".patch" file,
with an additional expression.
All converted files pass in full, and a deliberately failing
"git cat-file" now fails a converted test that previously passed.
Signed-off-by: Shlok Kulshreshtha <diy2903@gmail.com>
---
t/t3405-rebase-malformed.sh | 8 +--
t/t3408-rebase-multi-line.sh | 4 +-
t/t3434-rebase-i18n.sh | 3 +-
t/t3900-i18n-commit.sh | 4 +-
t/t4150-am.sh | 8 +--
t/t7500-commit-template-squash-signoff.sh | 4 +-
t/t7501-commit-basic-functionality.sh | 21 +++----
t/t7502-commit-porcelain.sh | 77 ++++++++---------------
t/t7600-merge.sh | 14 ++---
t/t7604-merge-custom-message.sh | 18 ++----
t/t7614-merge-signoff.sh | 9 +--
11 files changed, 62 insertions(+), 108 deletions(-)
diff --git a/t/t3405-rebase-malformed.sh b/t/t3405-rebase-malformed.sh
index 2524331861..271195fc11 100755
--- a/t/t3405-rebase-malformed.sh
+++ b/t/t3405-rebase-malformed.sh
@@ -37,7 +37,7 @@ test_expect_success setup '
test_tick &&
git commit -F F &&
- git cat-file commit HEAD | sed -e "1,/^\$/d" >F0 &&
+ commit_body HEAD >F0 &&
git checkout diff-in-message &&
echo "commit log message containing a diff" >G &&
@@ -48,7 +48,7 @@ test_expect_success setup '
test_tick &&
git commit -F G &&
- git cat-file commit HEAD | sed -e "1,/^\$/d" >G0 &&
+ commit_body HEAD >G0 &&
git checkout empty-message-merge &&
echo file3 >file3 &&
@@ -66,7 +66,7 @@ test_expect_success setup '
test_expect_success 'rebase commit with multi-line subject' '
git rebase main multi-line-subject &&
- git cat-file commit HEAD | sed -e "1,/^\$/d" >F1 &&
+ commit_body HEAD >F1 &&
test_cmp F0 F1 &&
test_cmp F F0
@@ -74,7 +74,7 @@ test_expect_success 'rebase commit with multi-line subject' '
test_expect_success 'rebase commit with diff in message' '
git rebase main diff-in-message &&
- git cat-file commit HEAD | sed -e "1,/^$/d" >G1 &&
+ commit_body HEAD >G1 &&
test_cmp G0 G1 &&
test_cmp G G0
'
diff --git a/t/t3408-rebase-multi-line.sh b/t/t3408-rebase-multi-line.sh
index cde3562e3a..2ab89e1a7d 100755
--- a/t/t3408-rebase-multi-line.sh
+++ b/t/t3408-rebase-multi-line.sh
@@ -50,8 +50,8 @@ test_expect_success rebase '
git checkout side &&
git rebase main &&
- git cat-file commit HEAD | sed -e "1,/^\$/d" >actual &&
- git cat-file commit side@{1} | sed -e "1,/^\$/d" >expect &&
+ commit_body HEAD >actual &&
+ commit_body side@{1} >expect &&
test_cmp expect actual
'
diff --git a/t/t3434-rebase-i18n.sh b/t/t3434-rebase-i18n.sh
index 8c94fdffc4..0f93a239f8 100755
--- a/t/t3434-rebase-i18n.sh
+++ b/t/t3434-rebase-i18n.sh
@@ -27,8 +27,7 @@ fi
compare_msg () {
iconv -f "$2" -t "$3" "$TEST_DIRECTORY/t3434/$1" >expect &&
- git cat-file commit HEAD >raw &&
- sed "1,/^$/d" raw >actual &&
+ commit_body HEAD >actual &&
test_cmp expect actual
}
diff --git a/t/t3900-i18n-commit.sh b/t/t3900-i18n-commit.sh
index 3c930ec202..b3f03bcbd0 100755
--- a/t/t3900-i18n-commit.sh
+++ b/t/t3900-i18n-commit.sh
@@ -232,8 +232,8 @@ test_commit_autosquash_multi_encoding () {
git rev-list HEAD >actual &&
test_line_count = 3 actual &&
iconv -f $old -t UTF-8 "$TEST_DIRECTORY"/t3900/$msg >expect &&
- git cat-file commit HEAD^ >raw &&
- (sed "1,/^$/d" raw | iconv -f $new -t utf-8) >actual &&
+ commit_body HEAD^ >raw &&
+ iconv -f $new -t utf-8 <raw >actual &&
test_cmp expect actual
'
}
diff --git a/t/t4150-am.sh b/t/t4150-am.sh
index 61c3ce9018..ee96223668 100755
--- a/t/t4150-am.sh
+++ b/t/t4150-am.sh
@@ -1018,7 +1018,7 @@ test_expect_success 'am -s unexpected trailer block' '
Signed-off-by: J C H <j@c.h>
EOF
git commit -F msg &&
- git cat-file commit HEAD | sed -e "1,/^$/d" >original &&
+ commit_body HEAD >original &&
git format-patch --stdout -1 >patch &&
git reset --hard HEAD^ &&
@@ -1027,7 +1027,7 @@ test_expect_success 'am -s unexpected trailer block' '
cat original &&
echo "Signed-off-by: $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL>"
) >expect &&
- git cat-file commit HEAD | sed -e "1,/^$/d" >actual &&
+ commit_body HEAD >actual &&
test_cmp expect actual &&
cat >msg <<-\EOF &&
@@ -1038,7 +1038,7 @@ test_expect_success 'am -s unexpected trailer block' '
EOF
git reset HEAD^ &&
git commit -F msg file &&
- git cat-file commit HEAD | sed -e "1,/^$/d" >original &&
+ commit_body HEAD >original &&
git format-patch --stdout -1 >patch &&
git reset --hard HEAD^ &&
@@ -1049,7 +1049,7 @@ test_expect_success 'am -s unexpected trailer block' '
echo &&
echo "Signed-off-by: $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL>"
) >expect &&
- git cat-file commit HEAD | sed -e "1,/^$/d" >actual &&
+ commit_body HEAD >actual &&
test_cmp expect actual
'
diff --git a/t/t7500-commit-template-squash-signoff.sh b/t/t7500-commit-template-squash-signoff.sh
index 66aff8e097..5e782ad8d7 100755
--- a/t/t7500-commit-template-squash-signoff.sh
+++ b/t/t7500-commit-template-squash-signoff.sh
@@ -59,7 +59,7 @@ test_expect_success 'nonexistent template file in config should return error' '
test_expect_success 'nonexistent optional template file in config' '
test_config commit.template ":(optional)$(pwd)"/notexist &&
GIT_EDITOR="echo hello >" git commit --allow-empty &&
- git cat-file commit HEAD | sed -e "1,/^$/d" >actual &&
+ commit_body HEAD >actual &&
echo hello >expect &&
test_cmp expect actual
'
@@ -204,7 +204,7 @@ EOF
test_expect_success '--signoff' '
echo "yet another content *narf*" >> foo &&
echo "zort" | git commit -s -F - foo &&
- git cat-file commit HEAD | sed "1,/^\$/d" > output &&
+ commit_body HEAD >output &&
test_cmp expect output
'
diff --git a/t/t7501-commit-basic-functionality.sh b/t/t7501-commit-basic-functionality.sh
index 7794babe46..d0af38df20 100755
--- a/t/t7501-commit-basic-functionality.sh
+++ b/t/t7501-commit-basic-functionality.sh
@@ -491,8 +491,7 @@ test_expect_success 'sign off (1)' '
echo 1 >positive &&
git add positive &&
git commit -s -m "thank you" &&
- git cat-file commit HEAD >commit &&
- sed -e "1,/^\$/d" commit >actual &&
+ commit_body HEAD >actual &&
(
echo thank you &&
echo &&
@@ -511,8 +510,7 @@ test_expect_success 'sign off (2)' '
git commit -s -m "thank you
$existing" &&
- git cat-file commit HEAD >commit &&
- sed -e "1,/^\$/d" commit >actual &&
+ commit_body HEAD >actual &&
(
echo thank you &&
echo &&
@@ -532,8 +530,7 @@ test_expect_success 'signoff gap' '
git commit -s -m "welcome
$alt" &&
- git cat-file commit HEAD >commit &&
- sed -e "1,/^\$/d" commit >actual &&
+ commit_body HEAD >actual &&
(
echo welcome &&
echo &&
@@ -553,8 +550,7 @@ test_expect_success 'signoff gap 2' '
We have now
$alt" &&
- git cat-file commit HEAD >commit &&
- sed -e "1,/^\$/d" commit >actual &&
+ commit_body HEAD >actual &&
(
echo welcome &&
echo &&
@@ -575,8 +571,7 @@ test_expect_success 'signoff respects trailer config' '
non-trailer line
Myfooter: x" &&
- git cat-file commit HEAD >commit &&
- sed -e "1,/^\$/d" commit >actual &&
+ commit_body HEAD >actual &&
(
echo subject &&
echo &&
@@ -593,8 +588,7 @@ Myfooter: x" &&
non-trailer line
Myfooter: x" &&
- git cat-file commit HEAD >commit &&
- sed -e "1,/^\$/d" commit >actual &&
+ commit_body HEAD >actual &&
(
echo subject &&
echo &&
@@ -626,8 +620,7 @@ test_expect_success 'multiple -m' '
>negative &&
git add negative &&
git commit -m "one" -m "two" -m "three" &&
- git cat-file commit HEAD >commit &&
- sed -e "1,/^\$/d" commit >actual &&
+ commit_body HEAD >actual &&
(
echo one &&
echo &&
diff --git a/t/t7502-commit-porcelain.sh b/t/t7502-commit-porcelain.sh
index 62e3970e3f..2adfe70b3d 100755
--- a/t/t7502-commit-porcelain.sh
+++ b/t/t7502-commit-porcelain.sh
@@ -175,8 +175,7 @@ test_expect_success 'commit --trailer with "="' '
Reported-by: C3 E3
Mentored-by: C4 E4
EOF
- git cat-file commit HEAD >commit.msg &&
- sed -e "1,/^\$/d" commit.msg >actual &&
+ commit_body HEAD >actual &&
test_cmp expected actual
'
@@ -195,8 +194,7 @@ test_expect_success 'commit --trailer with -c and "replace" as ifexists' '
commit --trailer "Mentored-by: C4 E4" \
--trailer "Helped-by: C3 E3" \
--amend &&
- git cat-file commit HEAD >commit.msg &&
- sed -e "1,/^\$/d" commit.msg >actual &&
+ commit_body HEAD >actual &&
test_cmp expected actual
'
@@ -217,8 +215,7 @@ test_expect_success 'commit --trailer with -c and "add" as ifexists' '
commit --trailer "Reported-by: C3 E3" \
--trailer "Mentored-by: C4 E4" \
--amend &&
- git cat-file commit HEAD >commit.msg &&
- sed -e "1,/^\$/d" commit.msg >actual &&
+ commit_body HEAD >actual &&
test_cmp expected actual
'
@@ -238,8 +235,7 @@ test_expect_success 'commit --trailer with -c and "donothing" as ifexists' '
commit --trailer "Mentored-by: C5 E5" \
--trailer "Reviewed-by: C6 E6" \
--amend &&
- git cat-file commit HEAD >commit.msg &&
- sed -e "1,/^\$/d" commit.msg >actual &&
+ commit_body HEAD >actual &&
test_cmp expected actual
'
@@ -259,8 +255,7 @@ test_expect_success 'commit --trailer with -c and "addIfDifferent" as ifexists'
commit --trailer "Reported-by: C3 E3" \
--trailer "Mentored-by: C5 E5" \
--amend &&
- git cat-file commit HEAD >commit.msg &&
- sed -e "1,/^\$/d" commit.msg >actual &&
+ commit_body HEAD >actual &&
test_cmp expected actual
'
@@ -280,8 +275,7 @@ test_expect_success 'commit --trailer with -c and "addIfDifferentNeighbor" as if
commit --trailer "Mentored-by: C4 E4" \
--trailer "Reported-by: C3 E3" \
--amend &&
- git cat-file commit HEAD >commit.msg &&
- sed -e "1,/^\$/d" commit.msg >actual &&
+ commit_body HEAD >actual &&
test_cmp expected actual
'
@@ -302,8 +296,7 @@ test_expect_success 'commit --trailer with -c and "end" as where' '
commit --trailer "Reported-by: C3 E3" \
--trailer "Mentored-by: C4 E4" \
--amend &&
- git cat-file commit HEAD >commit.msg &&
- sed -e "1,/^\$/d" commit.msg >actual &&
+ commit_body HEAD >actual &&
test_cmp expected actual
'
@@ -323,8 +316,7 @@ test_expect_success 'commit --trailer with -c and "start" as where' '
commit --trailer "Signed-off-by: C O Mitter <committer@example.com>" \
--trailer "Signed-off-by: C1 E1" \
--amend &&
- git cat-file commit HEAD >commit.msg &&
- sed -e "1,/^\$/d" commit.msg >actual &&
+ commit_body HEAD >actual &&
test_cmp expected actual
'
@@ -344,8 +336,7 @@ test_expect_success 'commit --trailer with -c and "after" as where' '
commit --trailer "Mentored-by: C4 E4" \
--trailer "Mentored-by: C5 E5" \
--amend &&
- git cat-file commit HEAD >commit.msg &&
- sed -e "1,/^\$/d" commit.msg >actual &&
+ commit_body HEAD >actual &&
test_cmp expected actual
'
@@ -366,8 +357,7 @@ test_expect_success 'commit --trailer with -c and "before" as where' '
commit --trailer "Mentored-by: C3 E3" \
--trailer "Mentored-by: C2 E2" \
--amend &&
- git cat-file commit HEAD >commit.msg &&
- sed -e "1,/^\$/d" commit.msg >actual &&
+ commit_body HEAD >actual &&
test_cmp expected actual
'
@@ -387,8 +377,7 @@ test_expect_success 'commit --trailer with -c and "donothing" as ifmissing' '
commit --trailer "Helped-by: C5 E5" \
--trailer "Based-by: C6 E6" \
--amend &&
- git cat-file commit HEAD >commit.msg &&
- sed -e "1,/^\$/d" commit.msg >actual &&
+ commit_body HEAD >actual &&
test_cmp expected actual
'
@@ -409,8 +398,7 @@ test_expect_success 'commit --trailer with -c and "add" as ifmissing' '
commit --trailer "Helped-by: C5 E5" \
--trailer "Based-by: C6 E6" \
--amend &&
- git cat-file commit HEAD >commit.msg &&
- sed -e "1,/^\$/d" commit.msg >actual &&
+ commit_body HEAD >actual &&
test_cmp expected actual
'
@@ -424,8 +412,7 @@ test_expect_success 'commit --trailer with -c ack.key ' '
EOF
git -c trailer.ack.key="Acked-by" \
commit --trailer "ack = Peff" -m "hello" &&
- git cat-file commit HEAD >commit.msg &&
- sed -e "1,/^\$/d" commit.msg >actual &&
+ commit_body HEAD >actual &&
test_cmp expected actual
'
@@ -440,8 +427,7 @@ test_expect_success 'commit --trailer with -c and ":=#" as separators' '
git -c trailer.separators=":=#" \
-c trailer.bug.key="Bug #" \
commit --trailer "bug = 42" -m "I hate bug" &&
- git cat-file commit HEAD >commit.msg &&
- sed -e "1,/^\$/d" commit.msg >actual &&
+ commit_body HEAD >actual &&
test_cmp expected actual
'
@@ -461,8 +447,7 @@ test_expect_success 'commit --trailer with -c and command' '
-c trailer.report.command="NAME=\"\$ARG\"; test -n \"\$NAME\" && \
git log --author=\"\$NAME\" -1 --format=\"format:%aN <%aE>\" || true" \
commit --trailer "report = author" --amend &&
- git cat-file commit HEAD >commit.msg &&
- sed -e "1,/^\$/d" commit.msg >actual &&
+ commit_body HEAD >actual &&
test_cmp expected actual
'
@@ -480,8 +465,7 @@ test_expect_success 'commit --trailer not confused by --- separator' '
echo &&
echo "my-trailer: value"
} >expected &&
- git cat-file commit HEAD >commit.msg &&
- sed -e "1,/^\$/d" commit.msg >actual &&
+ commit_body HEAD >actual &&
test_cmp expected actual
'
@@ -498,8 +482,7 @@ test_expect_success 'commit --trailer with --verbose' '
echo &&
echo "my-trailer: value"
} >expected &&
- git cat-file commit HEAD >commit.msg &&
- sed -e "1,/^\$/d" commit.msg >actual &&
+ commit_body HEAD >actual &&
test_cmp expected actual
'
@@ -508,7 +491,7 @@ test_expect_success 'multiple -m' '
>negative &&
git add negative &&
git commit -m "one" -m "two" -m "three" &&
- actual=$(git cat-file commit HEAD >tmp && sed -e "1,/^\$/d" tmp && rm tmp) &&
+ actual=$(commit_body HEAD) &&
expected=$(test_write_lines "one" "" "two" "" "three") &&
test "z$actual" = "z$expected"
@@ -545,8 +528,7 @@ test_expect_success 'cleanup commit messages (verbatim option,-t)' '
echo >>negative &&
git commit --cleanup=verbatim --no-status -t expect -a &&
- git cat-file -p HEAD >raw &&
- sed -e "1,/^\$/d" raw >actual &&
+ commit_body HEAD >actual &&
test_cmp expect actual
'
@@ -555,8 +537,7 @@ test_expect_success 'cleanup commit messages (verbatim option,-F)' '
echo >>negative &&
git commit --cleanup=verbatim -F expect -a &&
- git cat-file -p HEAD >raw &&
- sed -e "1,/^\$/d" raw >actual &&
+ commit_body HEAD >actual &&
test_cmp expect actual
'
@@ -565,8 +546,7 @@ test_expect_success 'cleanup commit messages (verbatim option,-m)' '
echo >>negative &&
git commit --cleanup=verbatim -m "$mesg_with_comment_and_newlines" -a &&
- git cat-file -p HEAD >raw &&
- sed -e "1,/^\$/d" raw >actual &&
+ commit_body HEAD >actual &&
test_cmp expect actual
'
@@ -577,8 +557,7 @@ test_expect_success 'cleanup commit messages (whitespace option,-F)' '
test_write_lines "" "# text" "" >text &&
echo "# text" >expect &&
git commit --cleanup=whitespace -F text -a &&
- git cat-file -p HEAD >raw &&
- sed -e "1,/^\$/d" raw >actual &&
+ commit_body HEAD >actual &&
test_cmp expect actual
'
@@ -605,8 +584,7 @@ test_expect_success 'cleanup commit messages (scissors option,-F,-e)' '
# to be kept, too
EOF
git commit --cleanup=scissors -e -F text -a &&
- git cat-file -p HEAD >raw &&
- sed -e "1,/^\$/d" raw >actual &&
+ commit_body HEAD >actual &&
test_cmp expect actual
'
@@ -618,8 +596,7 @@ test_expect_success 'cleanup commit messages (scissors option,-F,-e, scissors on
to be removed
EOF
git commit --cleanup=scissors -e -F text -a --allow-empty-message &&
- git cat-file -p HEAD >raw &&
- sed -e "1,/^\$/d" raw >actual &&
+ commit_body HEAD >actual &&
test_must_be_empty actual
'
@@ -629,8 +606,7 @@ test_expect_success 'cleanup commit messages (strip option,-F)' '
test_write_lines "" "# text" "sample" "" >text &&
echo sample >expect &&
git commit --cleanup=strip -F text -a &&
- git cat-file -p HEAD >raw &&
- sed -e "1,/^\$/d" raw >actual &&
+ commit_body HEAD >actual &&
test_cmp expect actual
'
@@ -849,8 +825,7 @@ test_expect_success 'A single-liner subject with a token plus colon is not a foo
git reset --hard &&
git commit -s -m "hello: kitty" --allow-empty &&
- git cat-file commit HEAD >raw &&
- sed -e "1,/^$/d" raw >actual &&
+ commit_body HEAD >actual &&
test_line_count = 3 actual
'
diff --git a/t/t7600-merge.sh b/t/t7600-merge.sh
index 7f2a1db16d..64cb83284c 100755
--- a/t/t7600-merge.sh
+++ b/t/t7600-merge.sh
@@ -332,8 +332,7 @@ test_expect_success 'merge --squash c3 with c7' '
# Conflicts:
# file
EOF
- git cat-file commit HEAD >raw &&
- sed -e "1,/^$/d" raw >actual &&
+ commit_body HEAD >actual &&
test_cmp expect actual
'
@@ -363,8 +362,7 @@ test_expect_success 'merge c3 with c7 with commit.cleanup = scissors' '
# Conflicts:
# file
EOF
- git cat-file commit HEAD >raw &&
- sed -e "1,/^$/d" raw >actual &&
+ commit_body HEAD >actual &&
test_cmp expect actual
'
@@ -387,8 +385,7 @@ test_expect_success 'merge c3 with c7 with --squash commit.cleanup = scissors' '
# Conflicts:
# file
EOF
- git cat-file commit HEAD >raw &&
- sed -e "1,/^$/d" raw >actual &&
+ commit_body HEAD >actual &&
test_cmp expect actual
'
@@ -989,9 +986,8 @@ test_expect_success 'merge --no-ff --edit' '
git reset --hard c0 &&
EDITOR=./editor git merge --no-ff --edit c1 &&
verify_parents $c0 $c1 &&
- git cat-file commit HEAD >raw &&
- test_grep "work done on the side branch" raw &&
- sed "1,/^$/d" >actual raw &&
+ commit_body HEAD >actual &&
+ test_grep "work done on the side branch" actual &&
test_cmp expected actual
'
diff --git a/t/t7604-merge-custom-message.sh b/t/t7604-merge-custom-message.sh
index cd4f9607dc..3a7d1ae858 100755
--- a/t/t7604-merge-custom-message.sh
+++ b/t/t7604-merge-custom-message.sh
@@ -36,16 +36,14 @@ test_expect_success 'setup' '
test_expect_success 'merge c2 with a custom message' '
git reset --hard c1 &&
git merge -m "$(cat exp.subject)" c2 &&
- git cat-file commit HEAD >raw &&
- sed -e "1,/^$/d" raw >actual &&
+ commit_body HEAD >actual &&
test_cmp exp.subject actual
'
test_expect_success 'merge --log appends to custom message' '
git reset --hard c1 &&
git merge --log -m "$(cat exp.subject)" c2 &&
- git cat-file commit HEAD >raw &&
- sed -e "1,/^$/d" raw >actual &&
+ commit_body HEAD >actual &&
test_cmp exp.log actual
'
@@ -61,8 +59,7 @@ test_expect_success 'prepare file with comment line and trailing newlines' '
test_expect_success 'cleanup commit messages (verbatim option)' '
git reset --hard c1 &&
git merge --cleanup=verbatim -F expect c2 &&
- git cat-file commit HEAD >raw &&
- sed -e "1,/^$/d" raw >actual &&
+ commit_body HEAD >actual &&
test_cmp expect actual
'
@@ -71,8 +68,7 @@ test_expect_success 'cleanup commit messages (whitespace option)' '
test_write_lines "" "# text" "" >text &&
echo "# text" >expect &&
git merge --cleanup=whitespace -F text c2 &&
- git cat-file commit HEAD >raw &&
- sed -e "1,/^$/d" raw >actual &&
+ commit_body HEAD >actual &&
test_cmp expect actual
'
@@ -97,8 +93,7 @@ test_expect_success 'cleanup merge messages (scissors option)' '
# to be kept, too
EOF
git merge --cleanup=scissors -e -F text c2 &&
- git cat-file commit HEAD >raw &&
- sed -e "1,/^$/d" raw >actual &&
+ commit_body HEAD >actual &&
test_cmp expect actual
'
@@ -107,8 +102,7 @@ test_expect_success 'cleanup commit messages (strip option)' '
test_write_lines "" "# text" "sample" "" >text &&
echo sample >expect &&
git merge --cleanup=strip -F text c2 &&
- git cat-file commit HEAD >raw &&
- sed -e "1,/^$/d" raw >actual &&
+ commit_body HEAD >actual &&
test_cmp expect actual
'
diff --git a/t/t7614-merge-signoff.sh b/t/t7614-merge-signoff.sh
index e58bf07b7a..b078eaf8a3 100755
--- a/t/t7614-merge-signoff.sh
+++ b/t/t7614-merge-signoff.sh
@@ -45,8 +45,7 @@ test_expect_success 'git merge --signoff adds a sign-off line' '
test_commit main-branch-2 file2 2 &&
git checkout other-branch &&
git merge main --signoff --no-edit &&
- git cat-file commit HEAD >commit &&
- sed -e "1,/^\$/d" commit >actual &&
+ commit_body HEAD >actual &&
test_cmp expected-signed actual
'
@@ -56,8 +55,7 @@ test_expect_success 'git merge does not add a sign-off line' '
test_commit main-branch-3 file3 3 &&
git checkout other-branch &&
git merge main --no-edit &&
- git cat-file commit HEAD >commit &&
- sed -e "1,/^\$/d" commit >actual &&
+ commit_body HEAD >actual &&
test_cmp expected-unsigned actual
'
@@ -67,8 +65,7 @@ test_expect_success 'git merge --no-signoff flag cancels --signoff flag' '
test_commit main-branch-4 file4 4 &&
git checkout other-branch &&
git merge main --no-edit --signoff --no-signoff &&
- git cat-file commit HEAD >commit &&
- sed -e "1,/^\$/d" commit >actual &&
+ commit_body HEAD >actual &&
test_cmp expected-unsigned actual
'
--
2.52.0
next prev parent reply other threads:[~2026-07-26 22:48 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-26 22:48 [PATCH 0/2] t: add and use a commit_body test helper Shlok Kulshreshtha
2026-07-26 22:48 ` [PATCH 1/2] test-lib-functions: add commit_body helper Shlok Kulshreshtha
2026-07-26 22:48 ` Shlok Kulshreshtha [this message]
2026-07-27 8:15 ` [PATCH 0/2] t: add and use a commit_body test helper Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260726224803.45131-3-diy2903@gmail.com \
--to=diy2903@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.