]> git.ipfire.org Git - thirdparty/git.git/blob - t/t1413-reflog-detach.sh
tests: mark tests relying on the current default for `init.defaultBranch`
[thirdparty/git.git] / t / t1413-reflog-detach.sh
1 #!/bin/sh
2
3 test_description='Test reflog interaction with detached HEAD'
4 GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=master
5 export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
6
7 . ./test-lib.sh
8
9 reset_state () {
10 git checkout master &&
11 cp saved_reflog .git/logs/HEAD
12 }
13
14 test_expect_success setup '
15 test_tick &&
16 git commit --allow-empty -m initial &&
17 git branch side &&
18 test_tick &&
19 git commit --allow-empty -m second &&
20 cat .git/logs/HEAD >saved_reflog
21 '
22
23 test_expect_success baseline '
24 reset_state &&
25 git rev-parse master master^ >expect &&
26 git log -g --format=%H >actual &&
27 test_cmp expect actual
28 '
29
30 test_expect_success 'switch to branch' '
31 reset_state &&
32 git rev-parse side master master^ >expect &&
33 git checkout side &&
34 git log -g --format=%H >actual &&
35 test_cmp expect actual
36 '
37
38 test_expect_success 'detach to other' '
39 reset_state &&
40 git rev-parse master side master master^ >expect &&
41 git checkout side &&
42 git checkout master^0 &&
43 git log -g --format=%H >actual &&
44 test_cmp expect actual
45 '
46
47 test_expect_success 'detach to self' '
48 reset_state &&
49 git rev-parse master master master^ >expect &&
50 git checkout master^0 &&
51 git log -g --format=%H >actual &&
52 test_cmp expect actual
53 '
54
55 test_expect_success 'attach to self' '
56 reset_state &&
57 git rev-parse master master master master^ >expect &&
58 git checkout master^0 &&
59 git checkout master &&
60 git log -g --format=%H >actual &&
61 test_cmp expect actual
62 '
63
64 test_expect_success 'attach to other' '
65 reset_state &&
66 git rev-parse side master master master^ >expect &&
67 git checkout master^0 &&
68 git checkout side &&
69 git log -g --format=%H >actual &&
70 test_cmp expect actual
71 '
72
73 test_done