Code

do not overwrite untracked during merge from unborn branch
authorClemens Buchacher <drizzd@aon.at>
Sun, 14 Nov 2010 22:07:49 +0000 (23:07 +0100)
committerJunio C Hamano <gitster@pobox.com>
Mon, 15 Nov 2010 17:27:33 +0000 (09:27 -0800)
commit172b6428d06ff4eb0812f087a497d50b6c878fe1
tree0d5dd95e7f771f95692673b0a6d5d853ecae48a5
parent2caf20c52b7f646d0a7481c25415c48d687773b2
do not overwrite untracked during merge from unborn branch

In case HEAD does not point to a valid commit yet, merge is
implemented as a hard reset. This will cause untracked files to be
overwritten.

Instead, assume the empty tree for HEAD and do a regular merge. An
untracked file will cause the merge to abort and do nothing. If no
conflicting files are present, the merge will have the same effect
as a hard reset.

Signed-off-by: Clemens Buchacher <drizzd@aon.at>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/merge.c
t/t7607-merge-overwrite.sh