Merge git://git.kernel.org/pub/scm/gitk/gitk
[git] / t / t2015-checkout-unborn.sh
1 #!/bin/sh
2
3 test_description='checkout from unborn branch protects contents'
4 . ./test-lib.sh
5
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 '
16
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 '
23
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 '
33
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 '
39
40 test_done