summaryrefslogtreecommitdiff
path: root/t/t3408-rebase-multi-line.sh
blob: ab0960e6d9963e27dfc70a7bbe3a72ce1734109b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#!/bin/sh

test_description='rebasing a commit with multi-line first paragraph.'

GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME

. ./test-lib.sh

test_expect_success setup '

	>file &&
	git add file &&
	test_tick &&
	git commit -m initial &&

	echo hello >file &&
	test_tick &&
	git commit -a -m "A sample commit log message that has a long
summary that spills over multiple lines.

But otherwise with a sane description." &&

	git branch side &&

	git reset --hard HEAD^ &&
	>elif &&
	git add elif &&
	test_tick &&
	git commit -m second &&

	git checkout -b side2 &&
	>afile &&
	git add afile &&
	test_tick &&
	git commit -m third &&
	echo hello >afile &&
	test_tick &&
	git commit -a -m fourth &&
	git checkout -b side-merge &&
	git reset --hard HEAD^^ &&
	git merge --no-ff -m "A merge commit log message that has a long
summary that spills over multiple lines.

But otherwise with a sane description." side2 &&
	git branch side-merge-original
'

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 &&
	test_cmp expect actual

'
test_expect_success REBASE_P rebasep '

	git checkout side-merge &&
	git rebase -p side &&
	git cat-file commit HEAD | sed -e "1,/^\$/d" >actual &&
	git cat-file commit side-merge-original | sed -e "1,/^\$/d" >expect &&
	test_cmp expect actual

'

test_done