hgmerge
changeset 306 f06a4a3b86a7
parent 280 a69c3b2957d1
parent 304 38fb7d23b78d
child 544 3d4d5f2aba9a
child 547 4fc63e22b1fe
equal deleted inserted replaced
305:719812eb0156 306:f06a4a3b86a7
     8 set -e # bail out quickly on failure
     8 set -e # bail out quickly on failure
     9 
     9 
    10 LOCAL=$1
    10 LOCAL=$1
    11 BASE=$2
    11 BASE=$2
    12 OTHER=$3
    12 OTHER=$3
       
    13 
       
    14 EDITOR="${EDITOR:-vi}"
    13 
    15 
    14 # Back up our file
    16 # Back up our file
    15 cp $LOCAL $LOCAL.orig
    17 cp $LOCAL $LOCAL.orig
    16 
    18 
    17 # Attempt to do a non-interactive merge
    19 # Attempt to do a non-interactive merge
    27 	exit 0
    29 	exit 0
    28     fi
    30     fi
    29     cp $LOCAL.orig $LOCAL
    31     cp $LOCAL.orig $LOCAL
    30 fi
    32 fi
    31 
    33 
    32 # try using kdiff3, which is fairly nice
    34 if [ -n "$DISPLAY" ]; then
    33 if which kdiff3 > /dev/null ; then
    35     # try using kdiff3, which is fairly nice
    34     if kdiff3 --auto $BASE $LOCAL $OTHER -o $LOCAL ; then
    36     if which kdiff3 > /dev/null ; then
    35 	exit 0
    37 	if kdiff3 --auto $BASE $LOCAL $OTHER -o $LOCAL ; then
    36     else
    38 	    exit 0
    37 	exit 1
    39 	else
       
    40 	    exit 1
       
    41 	fi
    38     fi
    42     fi
    39 fi
       
    40 
    43 
    41 # try using tkdiff, which is a bit less sophisticated
    44     # try using tkdiff, which is a bit less sophisticated
    42 if which tkdiff > /dev/null ; then
    45     if which tkdiff > /dev/null ; then
    43     if tkdiff $LOCAL $OTHER -a $BASE -o $LOCAL ; then
    46 	if tkdiff $LOCAL $OTHER -a $BASE -o $LOCAL ; then
    44 	exit 0
    47 	    exit 0
    45     else
    48 	else
    46 	exit 1
    49 	    exit 1
       
    50 	fi
    47     fi
    51     fi
    48 fi
    52 fi
    49 
    53 
    50 # Attempt to do a merge with $EDITOR
    54 # Attempt to do a merge with $EDITOR
    51 if which merge > /dev/null ; then
    55 if which merge > /dev/null ; then