mirror of
https://github.com/git/git.git
synced 2026-08-09 01:21:47 +00:00
Merge branch 'sk/test-commit-body-helper' into jch
A new test helper commit_body() has been introduced to print the message body of a commit, and various tests have been updated to use it instead of spelling out the command pipeline manually and losing the exit status of the 'git cat-file' command on the upstream of the pipe. * sk/test-commit-body-helper: t: use commit_body to extract commit message bodies test-lib-functions: add commit_body helper
This commit is contained in:
11
t/README
11
t/README
@@ -945,6 +945,17 @@ see test-lib-functions.sh for the full list and their options.
|
||||
Merges the given rev using the given message. Like test_commit,
|
||||
creates a tag and calls test_tick before committing.
|
||||
|
||||
- commit_body <rev>
|
||||
|
||||
Print the message body of <rev>, i.e. the contents of its commit
|
||||
object with the header removed. Use this instead of piping
|
||||
"git cat-file commit" into "sed", which would hide a failure of
|
||||
the git command.
|
||||
|
||||
Example:
|
||||
|
||||
commit_body HEAD >actual
|
||||
|
||||
- test_set_prereq <prereq>
|
||||
|
||||
Set a test prerequisite to be used later with test_have_prereq. The
|
||||
|
||||
@@ -484,7 +484,7 @@ test_expect_success 'squash and fixup generate correct log messages' '
|
||||
EXPECT_HEADER_COUNT=4 \
|
||||
git rebase -i $base
|
||||
) &&
|
||||
git cat-file commit HEAD | sed -e 1,/^\$/d > actual-squash-fixup &&
|
||||
commit_body HEAD >actual-squash-fixup &&
|
||||
test_cmp expect-squash-fixup actual-squash-fixup &&
|
||||
git cat-file commit HEAD@{2} >actual &&
|
||||
test_grep "^# This is a combination of 3 commits\." actual &&
|
||||
|
||||
@@ -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
|
||||
'
|
||||
|
||||
@@ -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
|
||||
|
||||
'
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
'
|
||||
}
|
||||
|
||||
@@ -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
|
||||
'
|
||||
|
||||
|
||||
@@ -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
|
||||
'
|
||||
|
||||
|
||||
@@ -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 &&
|
||||
|
||||
@@ -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
|
||||
|
||||
'
|
||||
|
||||
@@ -12,11 +12,6 @@ author_header () {
|
||||
sed -n -e '/^$/q' -e '/^author /p'
|
||||
}
|
||||
|
||||
message_body () {
|
||||
git cat-file commit "$1" |
|
||||
sed -e '1,/^$/d'
|
||||
}
|
||||
|
||||
test_expect_success '-C option copies authorship and message' '
|
||||
test_commit --author Frigate\ \<flying@over.world\> \
|
||||
"Initial Commit" foo Initial Initial &&
|
||||
@@ -27,8 +22,8 @@ test_expect_success '-C option copies authorship and message' '
|
||||
author_header HEAD >actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
message_body Initial >expect &&
|
||||
message_body HEAD >actual &&
|
||||
commit_body Initial >expect &&
|
||||
commit_body HEAD >actual &&
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
@@ -40,8 +35,8 @@ test_expect_success '-C option copies only the message with --reset-author' '
|
||||
author_header HEAD >actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
message_body Initial >expect &&
|
||||
message_body HEAD >actual &&
|
||||
commit_body Initial >expect &&
|
||||
commit_body HEAD >actual &&
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
@@ -62,8 +57,8 @@ test_expect_success '-c option copies only the message with --reset-author' '
|
||||
author_header HEAD >actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
message_body Initial >expect &&
|
||||
message_body HEAD >actual &&
|
||||
commit_body Initial >expect &&
|
||||
commit_body HEAD >actual &&
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
@@ -77,7 +72,7 @@ test_expect_success '--amend option copies authorship' '
|
||||
test_cmp expect actual &&
|
||||
|
||||
echo "amend test" >expect &&
|
||||
message_body HEAD >actual &&
|
||||
commit_body HEAD >actual &&
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
@@ -124,7 +119,7 @@ test_expect_success '--reset-author makes the commit ours even with --amend opti
|
||||
test_cmp expect actual &&
|
||||
|
||||
echo "Changed again" >expect &&
|
||||
message_body HEAD >actual &&
|
||||
commit_body HEAD >actual &&
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
@@ -157,7 +152,7 @@ test_expect_success 'commit respects CHERRY_PICK_HEAD and MERGE_MSG' '
|
||||
test_cmp expect actual &&
|
||||
|
||||
echo "This is a MERGE_MSG" >expect &&
|
||||
message_body HEAD >actual &&
|
||||
commit_body HEAD >actual &&
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
|
||||
@@ -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
|
||||
'
|
||||
|
||||
|
||||
@@ -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
|
||||
'
|
||||
|
||||
|
||||
@@ -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
|
||||
'
|
||||
|
||||
|
||||
@@ -1433,6 +1433,14 @@ test_commit_message () {
|
||||
test_cmp "$msg_file" actual.msg
|
||||
}
|
||||
|
||||
# Print the message body of a commit
|
||||
# Usage: commit_body <rev>
|
||||
commit_body () {
|
||||
git cat-file commit "$1" >.commit &&
|
||||
sed -e "1,/^$/d" .commit &&
|
||||
rm -f .commit
|
||||
}
|
||||
|
||||
# Compare paths respecting core.ignoreCase
|
||||
test_cmp_fspath () {
|
||||
if test "x$1" = "x$2"
|
||||
|
||||
Reference in New Issue
Block a user