1
0
mirror of https://github.com/git/git synced 2024-07-02 15:48:44 +00:00

merge with /dev/null as base, instead of punting O==empty case

Instead of leaving the path unmerged in a case where each side
adds different version of the same path, attempt to merge it
with empty base and leave "our" version in the index file, just
like we do for the case in conflicting merge.

Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
Junio C Hamano 2005-11-07 22:03:46 -08:00
parent 6fd72e39af
commit f7d24bbefb

View File

@ -40,7 +40,7 @@ case "${1:-.}${2:-.}${3:-.}" in
;;
#
# Added in both (check for same permissions).
# Added in both, identically (check for same permissions).
#
".$3$2")
if [ "$6" != "$7" ]; then
@ -56,9 +56,18 @@ case "${1:-.}${2:-.}${3:-.}" in
#
# Modified in both, but differently.
#
"$1$2$3")
echo "Auto-merging $4."
orig=`git-unpack-file $1`
"$1$2$3" | ".$2$3")
case "$1" in
'')
echo "Added $4 in both, but differently."
orig=`git-unpack-file $2`
: >$orig
;;
*)
echo "Auto-merging $4."
orig=`git-unpack-file $1`
;;
esac
src2=`git-unpack-file $3`
# We reset the index to the first branch, making
@ -73,6 +82,9 @@ case "${1:-.}${2:-.}${3:-.}" in
echo "ERROR: Permissions conflict: $5->$6,$7."
ret=1
fi
if [ "$1" = '' ]; then
ret=1
fi
if [ $ret -ne 0 ]; then
echo "ERROR: Merge conflict in $4."