Code

test-subprocess: fix segfault without arguments
[git.git] / t / t2015-checkout-unborn.sh
1 #!/bin/sh
3 test_description='checkout from unborn branch'
4 . ./test-lib.sh
6 test_expect_success 'setup' '
7         mkdir parent &&
8         (cd parent &&
9          git init &&
10          echo content >file &&
11          git add file &&
12          git commit -m base
13         ) &&
14         git fetch parent master:origin
15 '
17 test_expect_success 'checkout from unborn preserves untracked files' '
18         echo precious >expect &&
19         echo precious >file &&
20         test_must_fail git checkout -b new origin &&
21         test_cmp expect file
22 '
24 test_expect_success 'checkout from unborn preserves index contents' '
25         echo precious >expect &&
26         echo precious >file &&
27         git add file &&
28         test_must_fail git checkout -b new origin &&
29         test_cmp expect file &&
30         git show :file >file &&
31         test_cmp expect file
32 '
34 test_expect_success 'checkout from unborn merges identical index contents' '
35         echo content >file &&
36         git add file &&
37         git checkout -b new origin
38 '
40 test_expect_success 'checking out another branch from unborn state' '
41         git checkout --orphan newroot &&
42         git checkout -b anothername &&
43         test_must_fail git show-ref --verify refs/heads/newroot &&
44         git symbolic-ref HEAD >actual &&
45         echo refs/heads/anothername >expect &&
46         test_cmp expect actual
47 '
49 test_done