40 lines
881 B
40 lines
881 B
#!/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
|
|
|