1#!/bin/sh
2
3test_description='rebasing a commit with multi-line first paragraph.'
4
5. ./test-lib.sh
6
7test_expect_success setup '
8
9 >file &&
10 git add file &&
11 test_tick &&
12 git commit -m initial &&
13
14 echo hello >file &&
15 test_tick &&
16 git commit -a -m "A sample commit log message that has a long
17summary that spills over multiple lines.
18
19But otherwise with a sane description." &&
20
21 git branch side &&
22
23 git reset --hard HEAD^ &&
24 >elif &&
25 git add elif &&
26 test_tick &&
27 git commit -m second &&
28
29 git checkout -b side2 &&
30 >afile &&
31 git add afile &&
32 test_tick &&
33 git commit -m third &&
34 echo hello >afile &&
35 test_tick &&
36 git commit -a -m fourth &&
37 git checkout -b side-merge &&
38 git reset --hard HEAD^^ &&
39 git merge --no-ff -m "A merge commit log message that has a long
40summary that spills over multiple lines.
41
42But otherwise with a sane description." side2 &&
43 git branch side-merge-original
44'
45
46test_expect_success rebase '
47
48 git checkout side &&
49 git rebase master &&
50 git cat-file commit HEAD | sed -e "1,/^\$/d" >actual &&
51 git cat-file commit side@{1} | sed -e "1,/^\$/d" >expect &&
52 test_cmp expect actual
53
54'
55test_expect_success REBASE_P rebasep '
56
57 git checkout side-merge &&
58 git rebase -p side &&
59 git cat-file commit HEAD | sed -e "1,/^\$/d" >actual &&
60 git cat-file commit side-merge-original | sed -e "1,/^\$/d" >expect &&
61 test_cmp expect actual
62
63'
64
65test_done