Skip to content

Commit

Permalink
merge with /dev/null as base, instead of punting O==empty case
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Junio C Hamano committed Nov 12, 2005
1 parent 6fd72e3 commit f7d24bb
Showing 1 changed file with 16 additions and 4 deletions.
20 changes: 16 additions & 4 deletions git-merge-one-file.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
Expand All @@ -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."
Expand Down

0 comments on commit f7d24bb

Please sign in to comment.