#!/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 |