754
git format-patch --ignore-if-in-upstream HEAD
755
'
756
757
+git_version="$(git --version | sed "s/.* //")"
758
+
759
+signature() {
760
+ printf "%s\n%s\n\n" "-- " "${1:-$git_version}"
761
+}
762
+
763
+test_expect_success 'format-patch default signature' '
764
+ git format-patch --stdout -1 | tail -n 3 >output &&
765
+ signature >expect &&
766
+ test_cmp expect output
767
+'
768
+
769
test_expect_success 'format-patch --signature' '
758
- git format-patch --stdout --signature="my sig" -1 >output &&
759
- grep "my sig" output
770
+ git format-patch --stdout --signature="my sig" -1 | tail -n 3 >output &&
771
+ signature "my sig" >expect &&
772
+ test_cmp expect output
773
'
774
775
test_expect_success 'format-patch with format.signature config' '
1515
1516
test_expect_success 'format-patch --base' '
1517
git checkout side &&
1505
- git format-patch --stdout --base=HEAD~3 -1 >patch &&
1506
- grep "^base-commit:" patch >actual &&
1507
- grep "^prerequisite-patch-id:" patch >>actual &&
1508
- echo "base-commit: $(git rev-parse HEAD~3)" >expected &&
1518
+ git format-patch --stdout --base=HEAD~3 -1 | tail -n 7 >actual &&
1519
+ echo >expected &&
1520
+ echo "base-commit: $(git rev-parse HEAD~3)" >>expected &&
1521
echo "prerequisite-patch-id: $(git show --patch HEAD~2 | git patch-id --stable | awk "{print \$1}")" >>expected &&
1522
echo "prerequisite-patch-id: $(git show --patch HEAD~1 | git patch-id --stable | awk "{print \$1}")" >>expected &&
1523
+ signature >> expected &&
1524
test_cmp expected actual
1525
'
1526
1618
test_cmp expected actual
1619
'
1620
1621
+test_expect_success 'format-patch --base with --attach' '
1622
+ git format-patch --attach=mimemime --stdout --base=HEAD~ -1 >patch &&
1623
+ sed -n -e "/^base-commit:/s/.*/1/p" -e "/^---*mimemime--$/s/.*/2/p" \
1624
+ patch >actual &&
1625
+ test_write_lines 1 2 >expect &&
1626
+ test_cmp expect actual
1627
+'
1628
+
1629
test_expect_success 'format-patch --pretty=mboxrd' '
1630
sp=" " &&
1631
cat >msg <<-INPUT_END &&