test_expect_success 'signoff: commit with no body' '
append_signoff </dev/null >actual &&
- cat <<\EOF | sed "s/EOL$//" >expected &&
+ cat <<\EOF | sed "s/EOL$//" >expect &&
4:Subject: [PATCH] EOL
8:
9:Signed-off-by: C O Mitter <committer@example.com>
EOF
- test_cmp expected actual
+ test_cmp expect actual
'
test_expect_success 'signoff: commit with only subject' '
echo subject | append_signoff >actual &&
- cat >expected <<\EOF &&
+ cat >expect <<\EOF &&
4:Subject: [PATCH] subject
8:
9:Signed-off-by: C O Mitter <committer@example.com>
EOF
- test_cmp expected actual
+ test_cmp expect actual
'
test_expect_success 'signoff: commit with only subject that does not end with NL' '
printf subject | append_signoff >actual &&
- cat >expected <<\EOF &&
+ cat >expect <<\EOF &&
4:Subject: [PATCH] subject
8:
9:Signed-off-by: C O Mitter <committer@example.com>
EOF
- test_cmp expected actual
+ test_cmp expect actual
'
test_expect_success 'signoff: no existing signoffs' '
body
EOF
- cat >expected <<\EOF &&
+ cat >expect <<\EOF &&
4:Subject: [PATCH] subject
8:
10:
11:Signed-off-by: C O Mitter <committer@example.com>
EOF
- test_cmp expected actual
+ test_cmp expect actual
'
test_expect_success 'signoff: no existing signoffs and no trailing NL' '
printf "subject\n\nbody" | append_signoff >actual &&
- cat >expected <<\EOF &&
+ cat >expect <<\EOF &&
4:Subject: [PATCH] subject
8:
10:
11:Signed-off-by: C O Mitter <committer@example.com>
EOF
- test_cmp expected actual
+ test_cmp expect actual
'
test_expect_success 'signoff: some random signoff' '
Signed-off-by: my@house
EOF
- cat >expected <<\EOF &&
+ cat >expect <<\EOF &&
4:Subject: [PATCH] subject
8:
10:
11:Signed-off-by: my@house
12:Signed-off-by: C O Mitter <committer@example.com>
EOF
- test_cmp expected actual
+ test_cmp expect actual
'
test_expect_success 'signoff: misc conforming footer elements' '
Tested-by: Some One <someone@example.com>
Bug: 1234
EOF
- cat >expected <<\EOF &&
+ cat >expect <<\EOF &&
4:Subject: [PATCH] subject
8:
10:
11:Signed-off-by: my@house
15:Signed-off-by: C O Mitter <committer@example.com>
EOF
- test_cmp expected actual
+ test_cmp expect actual
'
test_expect_success 'signoff: some random signoff-alike' '
body
Fooled-by-me: my@house
EOF
- cat >expected <<\EOF &&
+ cat >expect <<\EOF &&
4:Subject: [PATCH] subject
8:
11:
12:Signed-off-by: C O Mitter <committer@example.com>
EOF
- test_cmp expected actual
+ test_cmp expect actual
'
test_expect_success 'signoff: not really a signoff' '
I want to mention about Signed-off-by: here.
EOF
- cat >expected <<\EOF &&
+ cat >expect <<\EOF &&
4:Subject: [PATCH] subject
8:
9:I want to mention about Signed-off-by: here.
10:
11:Signed-off-by: C O Mitter <committer@example.com>
EOF
- test_cmp expected actual
+ test_cmp expect actual
'
test_expect_success 'signoff: not really a signoff (2)' '
My unfortunate
Signed-off-by: example happens to be wrapped here.
EOF
- cat >expected <<\EOF &&
+ cat >expect <<\EOF &&
4:Subject: [PATCH] subject
8:
10:Signed-off-by: example happens to be wrapped here.
11:Signed-off-by: C O Mitter <committer@example.com>
EOF
- test_cmp expected actual
+ test_cmp expect actual
'
test_expect_success 'signoff: valid S-o-b paragraph in the middle' '
A lot of houses.
EOF
- cat >expected <<\EOF &&
+ cat >expect <<\EOF &&
4:Subject: [PATCH] subject
8:
9:Signed-off-by: my@house
13:
14:Signed-off-by: C O Mitter <committer@example.com>
EOF
- test_cmp expected actual
+ test_cmp expect actual
'
test_expect_success 'signoff: the same signoff at the end' '
Signed-off-by: C O Mitter <committer@example.com>
EOF
- cat >expected <<\EOF &&
+ cat >expect <<\EOF &&
4:Subject: [PATCH] subject
8:
10:
11:Signed-off-by: C O Mitter <committer@example.com>
EOF
- test_cmp expected actual
+ test_cmp expect actual
'
test_expect_success 'signoff: the same signoff at the end, no trailing NL' '
printf "subject\n\nSigned-off-by: C O Mitter <committer@example.com>" |
append_signoff >actual &&
- cat >expected <<\EOF &&
+ cat >expect <<\EOF &&
4:Subject: [PATCH] subject
8:
9:Signed-off-by: C O Mitter <committer@example.com>
EOF
- test_cmp expected actual
+ test_cmp expect actual
'
test_expect_success 'signoff: the same signoff NOT at the end' '
Signed-off-by: C O Mitter <committer@example.com>
Signed-off-by: my@house
EOF
- cat >expected <<\EOF &&
+ cat >expect <<\EOF &&
4:Subject: [PATCH] subject
8:
10:
11:Signed-off-by: C O Mitter <committer@example.com>
12:Signed-off-by: my@house
EOF
- test_cmp expected actual
+ test_cmp expect actual
'
test_expect_success 'signoff: tolerate garbage in conforming footer' '
Some Trash
Signed-off-by: C O Mitter <committer@example.com>
EOF
- cat >expected <<\EOF &&
+ cat >expect <<\EOF &&
4:Subject: [PATCH] subject
8:
10:
13:Signed-off-by: C O Mitter <committer@example.com>
EOF
- test_cmp expected actual
+ test_cmp expect actual
'
test_expect_success 'signoff: respect trailer config' '
Myfooter: x
Some Trash
EOF
- cat >expected <<\EOF &&
+ cat >expect <<\EOF &&
4:Subject: [PATCH] subject
8:
11:
12:Signed-off-by: C O Mitter <committer@example.com>
EOF
- test_cmp expected actual &&
+ test_cmp expect actual &&
test_config trailer.Myfooter.ifexists add &&
append_signoff <<\EOF >actual &&
Myfooter: x
Some Trash
EOF
- cat >expected <<\EOF &&
+ cat >expect <<\EOF &&
4:Subject: [PATCH] subject
8:
11:Signed-off-by: C O Mitter <committer@example.com>
EOF
- test_cmp expected actual
+ test_cmp expect actual
'
test_expect_success 'signoff: footer begins with non-signoff without @ sign' '
Signed-off-by: C O Mitter <committer@example.com>
Bug: 1234
EOF
- cat >expected <<\EOF &&
+ cat >expect <<\EOF &&
4:Subject: [PATCH] subject
8:
10:
14:Signed-off-by: C O Mitter <committer@example.com>
EOF
- test_cmp expected actual
+ test_cmp expect actual
'
test_expect_success 'format patch ignores color.ui' '
git checkout patchid &&
git format-patch --stdout --base=HEAD~3 -1 | tail -n 7 >actual1 &&
git format-patch --stdout --base=HEAD~3 HEAD~.. | tail -n 7 >actual2 &&
- echo >expected &&
- echo "base-commit: $(git rev-parse HEAD~3)" >>expected &&
- echo "prerequisite-patch-id: $(git show --patch HEAD~2 | git patch-id --stable | awk "{print \$1}")" >>expected &&
- echo "prerequisite-patch-id: $(git show --patch HEAD~1 | git patch-id --stable | awk "{print \$1}")" >>expected &&
- signature >> expected &&
- test_cmp expected actual1 &&
- test_cmp expected actual2 &&
+ echo >expect &&
+ echo "base-commit: $(git rev-parse HEAD~3)" >>expect &&
+ echo "prerequisite-patch-id: $(git show --patch HEAD~2 | git patch-id --stable | awk "{print \$1}")" >>expect &&
+ echo "prerequisite-patch-id: $(git show --patch HEAD~1 | git patch-id --stable | awk "{print \$1}")" >>expect &&
+ signature >> expect &&
+ test_cmp expect actual1 &&
+ test_cmp expect actual2 &&
echo >fail &&
echo "base-commit: $(git rev-parse HEAD~3)" >>fail &&
echo "prerequisite-patch-id: $(git show --patch HEAD~2 | git patch-id --unstable | awk "{print \$1}")" >>fail &&
test_must_fail git format-patch --base=HEAD~1 -2 &&
git format-patch --stdout --base=HEAD~2 -2 >patch &&
grep "^base-commit:" patch >actual &&
- echo "base-commit: $(git rev-parse HEAD~2)" >expected &&
- test_cmp expected actual
+ echo "base-commit: $(git rev-parse HEAD~2)" >expect &&
+ test_cmp expect actual
'
test_expect_success 'format-patch --base errors out when base commit is not ancestor of revision list' '
test_must_fail git format-patch --base=$(cat commit-id-Z) -3 &&
git format-patch --stdout --base=$(cat commit-id-base) -3 >patch &&
grep "^base-commit:" patch >actual &&
- echo "base-commit: $(cat commit-id-base)" >expected &&
- test_cmp expected actual
+ echo "base-commit: $(cat commit-id-base)" >expect &&
+ test_cmp expect actual
'
test_expect_success 'format-patch --base=auto' '
test_commit N2 &&
git format-patch --stdout --base=auto -2 >patch &&
grep "^base-commit:" patch >actual &&
- echo "base-commit: $(git rev-parse upstream)" >expected &&
- test_cmp expected actual
+ echo "base-commit: $(git rev-parse upstream)" >expect &&
+ test_cmp expect actual
'
test_expect_success 'format-patch errors out when history involves criss-cross' '
git config format.useAutoBase true &&
git format-patch --stdout -1 >patch &&
grep "^base-commit:" patch >actual &&
- echo "base-commit: $(git rev-parse upstream)" >expected &&
- test_cmp expected actual
+ echo "base-commit: $(git rev-parse upstream)" >expect &&
+ test_cmp expect actual
'
test_expect_success 'format-patch --base overrides format.useAutoBase' '
git config format.useAutoBase true &&
git format-patch --stdout --base=HEAD~1 -1 >patch &&
grep "^base-commit:" patch >actual &&
- echo "base-commit: $(git rev-parse HEAD~1)" >expected &&
- test_cmp expected actual
+ echo "base-commit: $(git rev-parse HEAD~1)" >expect &&
+ test_cmp expect actual
'
test_expect_success 'format-patch --base with --attach' '