зеркало из https://github.com/microsoft/git.git
pull: do not clobber untracked files on initial pull
For a pull into an unborn branch, we do not use "git merge" at all. Instead, we call read-tree directly. However, we used the --reset parameter instead of "-m", which turns off the safety features. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
97b1b4f3a6
Коммит
4b3ffe5184
|
@ -274,7 +274,7 @@ esac
|
|||
if test -z "$orig_head"
|
||||
then
|
||||
git update-ref -m "initial pull" HEAD $merge_head "$curr_head" &&
|
||||
git read-tree --reset -u HEAD || exit 1
|
||||
git read-tree -m -u HEAD || exit 1
|
||||
exit
|
||||
fi
|
||||
|
||||
|
|
|
@ -46,6 +46,17 @@ test_expect_success 'pulling into void using master:master' '
|
|||
test_cmp file cloned-uho/file
|
||||
'
|
||||
|
||||
test_expect_success 'pulling into void does not overwrite untracked files' '
|
||||
git init cloned-untracked &&
|
||||
(
|
||||
cd cloned-untracked &&
|
||||
echo untracked >file &&
|
||||
test_must_fail git pull .. master &&
|
||||
echo untracked >expect &&
|
||||
test_cmp expect file
|
||||
)
|
||||
'
|
||||
|
||||
test_expect_success 'test . as a remote' '
|
||||
|
||||
git branch copy master &&
|
||||
|
|
Загрузка…
Ссылка в новой задаче