| #!/bin/sh |
| |
| test_description='checkout from unborn branch protects contents' |
| . ./test-lib.sh |
| |
| test_expect_success 'setup' ' |
| mkdir parent && |
| (cd parent && |
| git init && |
| echo content >file && |
| git add file && |
| git commit -m base |
| ) && |
| git fetch parent master:origin |
| ' |
| |
| test_expect_success 'checkout from unborn preserves untracked files' ' |
| echo precious >expect && |
| echo precious >file && |
| test_must_fail git checkout -b new origin && |
| test_cmp expect file |
| ' |
| |
| test_expect_success 'checkout from unborn preserves index contents' ' |
| echo precious >expect && |
| echo precious >file && |
| git add file && |
| test_must_fail git checkout -b new origin && |
| test_cmp expect file && |
| git show :file >file && |
| test_cmp expect file |
| ' |
| |
| test_expect_success 'checkout from unborn merges identical index contents' ' |
| echo content >file && |
| git add file && |
| git checkout -b new origin |
| ' |
| |
| test_done |