]> git.ipfire.org Git - thirdparty/git.git/blame - t/t7103-reset-bare.sh
The third batch
[thirdparty/git.git] / t / t7103-reset-bare.sh
CommitLineData
49b9362f
JK
1#!/bin/sh
2
d592b315 3test_description='git reset in a bare repository'
d96fb140
ÆAB
4
5TEST_PASSES_SANITIZE_LEAK=true
49b9362f
JK
6. ./test-lib.sh
7
8test_expect_success 'setup non-bare' '
9 echo one >file &&
10 git add file &&
11 git commit -m one &&
12 echo two >file &&
13 git commit -a -m two
14'
15
ab892a19 16test_expect_success '"hard" reset requires a worktree' '
952dfc69
JK
17 (cd .git &&
18 test_must_fail git reset --hard)
19'
20
ab892a19 21test_expect_success '"merge" reset requires a worktree' '
952dfc69
JK
22 (cd .git &&
23 test_must_fail git reset --merge)
24'
25
ab892a19
CC
26test_expect_success '"keep" reset requires a worktree' '
27 (cd .git &&
28 test_must_fail git reset --keep)
29'
30
31test_expect_success '"mixed" reset is ok' '
952dfc69
JK
32 (cd .git && git reset)
33'
34
ab892a19 35test_expect_success '"soft" reset is ok' '
952dfc69
JK
36 (cd .git && git reset --soft)
37'
38
cd0f0f68
JK
39test_expect_success 'hard reset works with GIT_WORK_TREE' '
40 mkdir worktree &&
41 GIT_WORK_TREE=$PWD/worktree GIT_DIR=$PWD/.git git reset --hard &&
42 test_cmp file worktree/file
43'
44
49b9362f
JK
45test_expect_success 'setup bare' '
46 git clone --bare . bare.git &&
47 cd bare.git
48'
49
ab892a19 50test_expect_success '"hard" reset is not allowed in bare' '
952dfc69
JK
51 test_must_fail git reset --hard HEAD^
52'
53
ab892a19 54test_expect_success '"merge" reset is not allowed in bare' '
952dfc69
JK
55 test_must_fail git reset --merge HEAD^
56'
57
ab892a19
CC
58test_expect_success '"keep" reset is not allowed in bare' '
59 test_must_fail git reset --keep HEAD^
60'
61
62test_expect_success '"mixed" reset is not allowed in bare' '
952dfc69 63 test_must_fail git reset --mixed HEAD^
49b9362f
JK
64'
65
e5e37517 66test_expect_success '"soft" reset is allowed in bare' '
49b9362f 67 git reset --soft HEAD^ &&
c4d1d526
ÆAB
68 git show --pretty=format:%s >out &&
69 echo one >expect &&
70 head -n 1 out >actual &&
71 test_cmp expect actual
49b9362f
JK
72'
73
74test_done