hgmerge
author Matt Mackall <mpm@selenic.com>
Mon, 30 Jan 2006 12:04:36 +1300
changeset 1665 3a56574f329a
parent 1664 4338e33c973b
child 1699 83e8cd97b9f9
permissions -rwxr-xr-x
Merge with crew
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
544
3d4d5f2aba9a Remove bashisms and use /bin/sh instead of /bin/bash.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 306
diff changeset
     1
#!/bin/sh
240
737c66b68290 Replace tkmerge with hgmerge
mpm@selenic.com
parents:
diff changeset
     2
#
737c66b68290 Replace tkmerge with hgmerge
mpm@selenic.com
parents:
diff changeset
     3
# hgmerge - default merge helper for Mercurial
737c66b68290 Replace tkmerge with hgmerge
mpm@selenic.com
parents:
diff changeset
     4
#
737c66b68290 Replace tkmerge with hgmerge
mpm@selenic.com
parents:
diff changeset
     5
# This tries to find a way to do three-way merge on the current system.
737c66b68290 Replace tkmerge with hgmerge
mpm@selenic.com
parents:
diff changeset
     6
# The result ought to end up in $1.
737c66b68290 Replace tkmerge with hgmerge
mpm@selenic.com
parents:
diff changeset
     7
737c66b68290 Replace tkmerge with hgmerge
mpm@selenic.com
parents:
diff changeset
     8
set -e # bail out quickly on failure
737c66b68290 Replace tkmerge with hgmerge
mpm@selenic.com
parents:
diff changeset
     9
795
cd0ad12d9e42 Remove usage of ${par:-word}, which and mktemp. Quote filenames.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 547
diff changeset
    10
LOCAL="$1"
cd0ad12d9e42 Remove usage of ${par:-word}, which and mktemp. Quote filenames.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 547
diff changeset
    11
BASE="$2"
cd0ad12d9e42 Remove usage of ${par:-word}, which and mktemp. Quote filenames.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 547
diff changeset
    12
OTHER="$3"
240
737c66b68290 Replace tkmerge with hgmerge
mpm@selenic.com
parents:
diff changeset
    13
795
cd0ad12d9e42 Remove usage of ${par:-word}, which and mktemp. Quote filenames.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 547
diff changeset
    14
if [ -z "$EDITOR" ]; then
cd0ad12d9e42 Remove usage of ${par:-word}, which and mktemp. Quote filenames.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 547
diff changeset
    15
    EDITOR="vi"
cd0ad12d9e42 Remove usage of ${par:-word}, which and mktemp. Quote filenames.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 547
diff changeset
    16
fi
304
38fb7d23b78d Use vi if $EDITOR is unset.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 303
diff changeset
    17
1434
696851b1bba9 Fix use of diff(1) triggered by set -e.
levon@movementarian.org
parents: 839
diff changeset
    18
# find decent versions of our utilities, insisting on the GNU versions where we
696851b1bba9 Fix use of diff(1) triggered by set -e.
levon@movementarian.org
parents: 839
diff changeset
    19
# need to
696851b1bba9 Fix use of diff(1) triggered by set -e.
levon@movementarian.org
parents: 839
diff changeset
    20
DIFF3=gdiff3
696851b1bba9 Fix use of diff(1) triggered by set -e.
levon@movementarian.org
parents: 839
diff changeset
    21
DIFF=gdiff
696851b1bba9 Fix use of diff(1) triggered by set -e.
levon@movementarian.org
parents: 839
diff changeset
    22
PATCH=gpatch
696851b1bba9 Fix use of diff(1) triggered by set -e.
levon@movementarian.org
parents: 839
diff changeset
    23
696851b1bba9 Fix use of diff(1) triggered by set -e.
levon@movementarian.org
parents: 839
diff changeset
    24
type $DIFF3 >/dev/null 2>&1 || DIFF3=diff3
696851b1bba9 Fix use of diff(1) triggered by set -e.
levon@movementarian.org
parents: 839
diff changeset
    25
type $DIFF  >/dev/null 2>&1 || DIFF=diff
696851b1bba9 Fix use of diff(1) triggered by set -e.
levon@movementarian.org
parents: 839
diff changeset
    26
type $PATCH  >/dev/null 2>&1 || PATCH=patch
696851b1bba9 Fix use of diff(1) triggered by set -e.
levon@movementarian.org
parents: 839
diff changeset
    27
$DIFF3 --version >/dev/null 2>&1 || DIFF3=
696851b1bba9 Fix use of diff(1) triggered by set -e.
levon@movementarian.org
parents: 839
diff changeset
    28
240
737c66b68290 Replace tkmerge with hgmerge
mpm@selenic.com
parents:
diff changeset
    29
# Back up our file
795
cd0ad12d9e42 Remove usage of ${par:-word}, which and mktemp. Quote filenames.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 547
diff changeset
    30
cp "$LOCAL" "$LOCAL.orig"
240
737c66b68290 Replace tkmerge with hgmerge
mpm@selenic.com
parents:
diff changeset
    31
737c66b68290 Replace tkmerge with hgmerge
mpm@selenic.com
parents:
diff changeset
    32
# Attempt to do a non-interactive merge
828
7a6acd56cd5a Hide error message of type command.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 814
diff changeset
    33
if type merge > /dev/null 2>&1; then
829
764b0350acb8 Shortened hgmerge a little bit.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 828
diff changeset
    34
    merge "$LOCAL" "$BASE" "$OTHER" 2> /dev/null && exit 0
795
cd0ad12d9e42 Remove usage of ${par:-word}, which and mktemp. Quote filenames.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 547
diff changeset
    35
    cp "$LOCAL.orig" "$LOCAL"
1434
696851b1bba9 Fix use of diff(1) triggered by set -e.
levon@movementarian.org
parents: 839
diff changeset
    36
elif [ -n "$DIFF3" ]; then
696851b1bba9 Fix use of diff(1) triggered by set -e.
levon@movementarian.org
parents: 839
diff changeset
    37
    echo $DIFF3 -m "$LOCAL.orig" "$BASE" "$OTHER"
696851b1bba9 Fix use of diff(1) triggered by set -e.
levon@movementarian.org
parents: 839
diff changeset
    38
    $DIFF3 -m "$LOCAL.orig" "$BASE" "$OTHER" > "$LOCAL" && exit 0
696851b1bba9 Fix use of diff(1) triggered by set -e.
levon@movementarian.org
parents: 839
diff changeset
    39
    if [ $? -eq 2 ]; then
696851b1bba9 Fix use of diff(1) triggered by set -e.
levon@movementarian.org
parents: 839
diff changeset
    40
        echo "$DIFF3 failed! Exiting." 1>&2
696851b1bba9 Fix use of diff(1) triggered by set -e.
levon@movementarian.org
parents: 839
diff changeset
    41
        cp "$LOCAL.orig" "$LOCAL"
696851b1bba9 Fix use of diff(1) triggered by set -e.
levon@movementarian.org
parents: 839
diff changeset
    42
        exit 1
696851b1bba9 Fix use of diff(1) triggered by set -e.
levon@movementarian.org
parents: 839
diff changeset
    43
    fi
795
cd0ad12d9e42 Remove usage of ${par:-word}, which and mktemp. Quote filenames.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 547
diff changeset
    44
    cp "$LOCAL.orig" "$LOCAL"
240
737c66b68290 Replace tkmerge with hgmerge
mpm@selenic.com
parents:
diff changeset
    45
fi
737c66b68290 Replace tkmerge with hgmerge
mpm@selenic.com
parents:
diff changeset
    46
1664
4338e33c973b Safer version of FileMerge merge
Brendan Cully <brendan@kublai.com>
parents: 1647
diff changeset
    47
# on MacOS X try FileMerge.app, shipped with Apple's developer tools
4338e33c973b Safer version of FileMerge merge
Brendan Cully <brendan@kublai.com>
parents: 1647
diff changeset
    48
# TODO: make proper temp files. foo.orig and foo.link are dangerous
4338e33c973b Safer version of FileMerge merge
Brendan Cully <brendan@kublai.com>
parents: 1647
diff changeset
    49
FILEMERGE='/Developer/Applications/Utilities/FileMerge.app/Contents/MacOS/FileMerge'
4338e33c973b Safer version of FileMerge merge
Brendan Cully <brendan@kublai.com>
parents: 1647
diff changeset
    50
if type "$FILEMERGE" > /dev/null 2>&1; then
4338e33c973b Safer version of FileMerge merge
Brendan Cully <brendan@kublai.com>
parents: 1647
diff changeset
    51
    cp "$LOCAL.orig" "$LOCAL"
4338e33c973b Safer version of FileMerge merge
Brendan Cully <brendan@kublai.com>
parents: 1647
diff changeset
    52
    ln "$LOCAL" "$LOCAL.link"
4338e33c973b Safer version of FileMerge merge
Brendan Cully <brendan@kublai.com>
parents: 1647
diff changeset
    53
    # filemerge prefers the right by default
4338e33c973b Safer version of FileMerge merge
Brendan Cully <brendan@kublai.com>
parents: 1647
diff changeset
    54
    if ! "$FILEMERGE" -left "$OTHER" -right "$LOCAL" -ancestor "$BASE" -merge "$LOCAL"
4338e33c973b Safer version of FileMerge merge
Brendan Cully <brendan@kublai.com>
parents: 1647
diff changeset
    55
    then
4338e33c973b Safer version of FileMerge merge
Brendan Cully <brendan@kublai.com>
parents: 1647
diff changeset
    56
        echo "FileMerge failed to launch"
4338e33c973b Safer version of FileMerge merge
Brendan Cully <brendan@kublai.com>
parents: 1647
diff changeset
    57
        exit 1
4338e33c973b Safer version of FileMerge merge
Brendan Cully <brendan@kublai.com>
parents: 1647
diff changeset
    58
    fi
4338e33c973b Safer version of FileMerge merge
Brendan Cully <brendan@kublai.com>
parents: 1647
diff changeset
    59
    if ! test "$LOCAL" -ef "$LOCAL.link"
4338e33c973b Safer version of FileMerge merge
Brendan Cully <brendan@kublai.com>
parents: 1647
diff changeset
    60
    then
4338e33c973b Safer version of FileMerge merge
Brendan Cully <brendan@kublai.com>
parents: 1647
diff changeset
    61
        rm "$LOCAL.orig" "$LOCAL.link"
4338e33c973b Safer version of FileMerge merge
Brendan Cully <brendan@kublai.com>
parents: 1647
diff changeset
    62
        exit 0
4338e33c973b Safer version of FileMerge merge
Brendan Cully <brendan@kublai.com>
parents: 1647
diff changeset
    63
    else
4338e33c973b Safer version of FileMerge merge
Brendan Cully <brendan@kublai.com>
parents: 1647
diff changeset
    64
        rm "$LOCAL.link"
4338e33c973b Safer version of FileMerge merge
Brendan Cully <brendan@kublai.com>
parents: 1647
diff changeset
    65
        echo "$LOCAL is unchanged. Was the merge successful?"
4338e33c973b Safer version of FileMerge merge
Brendan Cully <brendan@kublai.com>
parents: 1647
diff changeset
    66
        select answer in yes no
4338e33c973b Safer version of FileMerge merge
Brendan Cully <brendan@kublai.com>
parents: 1647
diff changeset
    67
        do
4338e33c973b Safer version of FileMerge merge
Brendan Cully <brendan@kublai.com>
parents: 1647
diff changeset
    68
            if test "$answer" == "yes"
4338e33c973b Safer version of FileMerge merge
Brendan Cully <brendan@kublai.com>
parents: 1647
diff changeset
    69
            then
4338e33c973b Safer version of FileMerge merge
Brendan Cully <brendan@kublai.com>
parents: 1647
diff changeset
    70
                rm "$LOCAL.orig"
4338e33c973b Safer version of FileMerge merge
Brendan Cully <brendan@kublai.com>
parents: 1647
diff changeset
    71
                exit 0
4338e33c973b Safer version of FileMerge merge
Brendan Cully <brendan@kublai.com>
parents: 1647
diff changeset
    72
            else
4338e33c973b Safer version of FileMerge merge
Brendan Cully <brendan@kublai.com>
parents: 1647
diff changeset
    73
                exit 1
4338e33c973b Safer version of FileMerge merge
Brendan Cully <brendan@kublai.com>
parents: 1647
diff changeset
    74
            fi
4338e33c973b Safer version of FileMerge merge
Brendan Cully <brendan@kublai.com>
parents: 1647
diff changeset
    75
        done
4338e33c973b Safer version of FileMerge merge
Brendan Cully <brendan@kublai.com>
parents: 1647
diff changeset
    76
        exit 1
4338e33c973b Safer version of FileMerge merge
Brendan Cully <brendan@kublai.com>
parents: 1647
diff changeset
    77
    fi
1647
64a1169c927d Use of opendiff as merge program on MacOS X
Christian Ebert <blacktrash@gmx.net>
parents: 1434
diff changeset
    78
fi
64a1169c927d Use of opendiff as merge program on MacOS X
Christian Ebert <blacktrash@gmx.net>
parents: 1434
diff changeset
    79
303
15a9e55e7ea5 Check if $DISPLAY is set before using tkdiff or kdiff3.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 280
diff changeset
    80
if [ -n "$DISPLAY" ]; then
15a9e55e7ea5 Check if $DISPLAY is set before using tkdiff or kdiff3.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 280
diff changeset
    81
    # try using kdiff3, which is fairly nice
828
7a6acd56cd5a Hide error message of type command.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 814
diff changeset
    82
    if type kdiff3 > /dev/null 2>&1; then
829
764b0350acb8 Shortened hgmerge a little bit.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 828
diff changeset
    83
	kdiff3 --auto "$BASE" "$LOCAL" "$OTHER" -o "$LOCAL" || exit 1
764b0350acb8 Shortened hgmerge a little bit.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 828
diff changeset
    84
	exit 0
240
737c66b68290 Replace tkmerge with hgmerge
mpm@selenic.com
parents:
diff changeset
    85
    fi
737c66b68290 Replace tkmerge with hgmerge
mpm@selenic.com
parents:
diff changeset
    86
303
15a9e55e7ea5 Check if $DISPLAY is set before using tkdiff or kdiff3.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 280
diff changeset
    87
    # try using tkdiff, which is a bit less sophisticated
828
7a6acd56cd5a Hide error message of type command.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 814
diff changeset
    88
    if type tkdiff > /dev/null 2>&1; then
829
764b0350acb8 Shortened hgmerge a little bit.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 828
diff changeset
    89
	tkdiff "$LOCAL" "$OTHER" -a "$BASE" -o "$LOCAL" || exit 1
764b0350acb8 Shortened hgmerge a little bit.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 828
diff changeset
    90
	exit 0
240
737c66b68290 Replace tkmerge with hgmerge
mpm@selenic.com
parents:
diff changeset
    91
    fi
737c66b68290 Replace tkmerge with hgmerge
mpm@selenic.com
parents:
diff changeset
    92
fi
737c66b68290 Replace tkmerge with hgmerge
mpm@selenic.com
parents:
diff changeset
    93
737c66b68290 Replace tkmerge with hgmerge
mpm@selenic.com
parents:
diff changeset
    94
# Attempt to do a merge with $EDITOR
828
7a6acd56cd5a Hide error message of type command.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 814
diff changeset
    95
if type merge > /dev/null 2>&1; then
240
737c66b68290 Replace tkmerge with hgmerge
mpm@selenic.com
parents:
diff changeset
    96
    echo "conflicts detected in $LOCAL"
795
cd0ad12d9e42 Remove usage of ${par:-word}, which and mktemp. Quote filenames.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 547
diff changeset
    97
    merge "$LOCAL" "$BASE" "$OTHER" 2>/dev/null || $EDITOR "$LOCAL"
242
a2edb4481f19 hgmerge: use diff3 if available
mpm@selenic.com
parents: 240
diff changeset
    98
    exit 0
a2edb4481f19 hgmerge: use diff3 if available
mpm@selenic.com
parents: 240
diff changeset
    99
fi
a2edb4481f19 hgmerge: use diff3 if available
mpm@selenic.com
parents: 240
diff changeset
   100
1434
696851b1bba9 Fix use of diff(1) triggered by set -e.
levon@movementarian.org
parents: 839
diff changeset
   101
if [ -n "$DIFF3" ]; then
242
a2edb4481f19 hgmerge: use diff3 if available
mpm@selenic.com
parents: 240
diff changeset
   102
    echo "conflicts detected in $LOCAL"
1434
696851b1bba9 Fix use of diff(1) triggered by set -e.
levon@movementarian.org
parents: 839
diff changeset
   103
    $DIFF3 -m "$LOCAL.orig" "$BASE" "$OTHER" > "$LOCAL" || {
696851b1bba9 Fix use of diff(1) triggered by set -e.
levon@movementarian.org
parents: 839
diff changeset
   104
        case $? in
696851b1bba9 Fix use of diff(1) triggered by set -e.
levon@movementarian.org
parents: 839
diff changeset
   105
            1)
696851b1bba9 Fix use of diff(1) triggered by set -e.
levon@movementarian.org
parents: 839
diff changeset
   106
                $EDITOR "$LOCAL" ;;
696851b1bba9 Fix use of diff(1) triggered by set -e.
levon@movementarian.org
parents: 839
diff changeset
   107
            2)  echo "$DIFF3 failed! Exiting." 1>&2
696851b1bba9 Fix use of diff(1) triggered by set -e.
levon@movementarian.org
parents: 839
diff changeset
   108
                cp "$LOCAL.orig" "$LOCAL"
696851b1bba9 Fix use of diff(1) triggered by set -e.
levon@movementarian.org
parents: 839
diff changeset
   109
                exit 1 ;;
696851b1bba9 Fix use of diff(1) triggered by set -e.
levon@movementarian.org
parents: 839
diff changeset
   110
        esac
696851b1bba9 Fix use of diff(1) triggered by set -e.
levon@movementarian.org
parents: 839
diff changeset
   111
        exit 0
696851b1bba9 Fix use of diff(1) triggered by set -e.
levon@movementarian.org
parents: 839
diff changeset
   112
    }
240
737c66b68290 Replace tkmerge with hgmerge
mpm@selenic.com
parents:
diff changeset
   113
fi
737c66b68290 Replace tkmerge with hgmerge
mpm@selenic.com
parents:
diff changeset
   114
795
cd0ad12d9e42 Remove usage of ${par:-word}, which and mktemp. Quote filenames.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 547
diff changeset
   115
HGTMP=""
cd0ad12d9e42 Remove usage of ${par:-word}, which and mktemp. Quote filenames.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 547
diff changeset
   116
cleanup_exit() {
cd0ad12d9e42 Remove usage of ${par:-word}, which and mktemp. Quote filenames.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 547
diff changeset
   117
    rm -rf "$HGTMP"
cd0ad12d9e42 Remove usage of ${par:-word}, which and mktemp. Quote filenames.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 547
diff changeset
   118
}
cd0ad12d9e42 Remove usage of ${par:-word}, which and mktemp. Quote filenames.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 547
diff changeset
   119
240
737c66b68290 Replace tkmerge with hgmerge
mpm@selenic.com
parents:
diff changeset
   120
# attempt to manually merge with diff and patch
1434
696851b1bba9 Fix use of diff(1) triggered by set -e.
levon@movementarian.org
parents: 839
diff changeset
   121
if [ -n "$DIFF" -a -n "$PATCH" ]; then
829
764b0350acb8 Shortened hgmerge a little bit.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 828
diff changeset
   122
    # Remove temporary files even if we get interrupted
831
232d0616a80a Cleaned up trap handling:
Thomas Arendsen Hein <thomas@intevation.de>
parents: 830
diff changeset
   123
    trap "cleanup_exit" 0 # normal exit
232d0616a80a Cleaned up trap handling:
Thomas Arendsen Hein <thomas@intevation.de>
parents: 830
diff changeset
   124
    trap "exit 1" 1 2 3 6 15 # HUP INT QUIT ABRT TERM
795
cd0ad12d9e42 Remove usage of ${par:-word}, which and mktemp. Quote filenames.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 547
diff changeset
   125
829
764b0350acb8 Shortened hgmerge a little bit.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 828
diff changeset
   126
    HGTMP="${TMPDIR-/tmp}/hgmerge.$RANDOM.$RANDOM.$RANDOM.$$"
764b0350acb8 Shortened hgmerge a little bit.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 828
diff changeset
   127
    (umask 077 && mkdir "$HGTMP") || {
764b0350acb8 Shortened hgmerge a little bit.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 828
diff changeset
   128
	echo "Could not create temporary directory! Exiting." 1>&2
764b0350acb8 Shortened hgmerge a little bit.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 828
diff changeset
   129
	exit 1
764b0350acb8 Shortened hgmerge a little bit.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 828
diff changeset
   130
    }
795
cd0ad12d9e42 Remove usage of ${par:-word}, which and mktemp. Quote filenames.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 547
diff changeset
   131
1434
696851b1bba9 Fix use of diff(1) triggered by set -e.
levon@movementarian.org
parents: 839
diff changeset
   132
    $DIFF -u "$BASE" "$OTHER" > "$HGTMP/diff" || :
696851b1bba9 Fix use of diff(1) triggered by set -e.
levon@movementarian.org
parents: 839
diff changeset
   133
    if $PATCH "$LOCAL" < "$HGTMP/diff"; then
831
232d0616a80a Cleaned up trap handling:
Thomas Arendsen Hein <thomas@intevation.de>
parents: 830
diff changeset
   134
	exit 0
829
764b0350acb8 Shortened hgmerge a little bit.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 828
diff changeset
   135
    else
830
ca080d28d0af If rejects are empty after using the editor, merge with diff+patch was ok.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 829
diff changeset
   136
	# If rejects are empty after using the editor, merge was ok
831
232d0616a80a Cleaned up trap handling:
Thomas Arendsen Hein <thomas@intevation.de>
parents: 830
diff changeset
   137
	$EDITOR "$LOCAL" "$LOCAL.rej" && test -s "$LOCAL.rej" || exit 0
240
737c66b68290 Replace tkmerge with hgmerge
mpm@selenic.com
parents:
diff changeset
   138
    fi
831
232d0616a80a Cleaned up trap handling:
Thomas Arendsen Hein <thomas@intevation.de>
parents: 830
diff changeset
   139
    exit 1
240
737c66b68290 Replace tkmerge with hgmerge
mpm@selenic.com
parents:
diff changeset
   140
fi
737c66b68290 Replace tkmerge with hgmerge
mpm@selenic.com
parents:
diff changeset
   141
737c66b68290 Replace tkmerge with hgmerge
mpm@selenic.com
parents:
diff changeset
   142
echo "hgmerge: unable to find merge, tkdiff, kdiff3, or diff+patch!"
737c66b68290 Replace tkmerge with hgmerge
mpm@selenic.com
parents:
diff changeset
   143
exit 1