[PATCH] hg clone stored path fix
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
[PATCH] hg clone stored path fix
there is a small problem with hg version f6c6fa15ff70+20050701. when i
clone a repository (on my local system), the path of "parent" repo
stored in the clone repo is not correct.
here is more details -- i clone a repo named "xen-today" with:
hg clone xen-today/ test4
then file "test4/.hg/hgrc" contains:
[paths]
default = /home/aq/projects/hg-xen/xen-today
Signed-off-by: Nguyen Anh Quynh <aquynh@gmail.com>
manifest hash: 6ec2f059907fd5544e40c9e78284271d52eeb23f
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCxXeyywK+sNU5EO8RAru1AKCVeqGqLrbLn8Zonr683jNlVx+FoACdHoll
B2+uEV33zpxWUj7fcntYJVk=
=SB49
-----END PGP SIGNATURE-----
#!/bin/sh
#
# hgmerge - default merge helper for Mercurial
#
# This tries to find a way to do three-way merge on the current system.
# The result ought to end up in $1.
set -e # bail out quickly on failure
LOCAL=$1
BASE=$2
OTHER=$3
EDITOR="${EDITOR:-vi}"
# Back up our file
cp $LOCAL $LOCAL.orig
# Attempt to do a non-interactive merge
if which merge > /dev/null ; then
if merge $LOCAL $BASE $OTHER 2> /dev/null; then
# success!
exit 0
fi
cp $LOCAL.orig $LOCAL
elif which diff3 > /dev/null ; then
if diff3 -m $LOCAL.orig $BASE $OTHER > $LOCAL ; then
# success
exit 0
fi
cp $LOCAL.orig $LOCAL
fi
if [ -n "$DISPLAY" ]; then
# try using kdiff3, which is fairly nice
if which kdiff3 > /dev/null ; then
if kdiff3 --auto $BASE $LOCAL $OTHER -o $LOCAL ; then
exit 0
else
exit 1
fi
fi
# try using tkdiff, which is a bit less sophisticated
if which tkdiff > /dev/null ; then
if tkdiff $LOCAL $OTHER -a $BASE -o $LOCAL ; then
exit 0
else
exit 1
fi
fi
fi
# Attempt to do a merge with $EDITOR
if which merge > /dev/null ; then
echo "conflicts detected in $LOCAL"
merge $LOCAL $BASE $OTHER 2>/dev/null || $EDITOR $LOCAL
exit 0
fi
if which diff3 > /dev/null ; then
echo "conflicts detected in $LOCAL"
diff3 -m $LOCAL.orig $BASE $OTHER > $LOCAL || $EDITOR $LOCAL
exit 0
fi
# attempt to manually merge with diff and patch
if which diff > /dev/null ; then
if which patch > /dev/null ; then
T=`mktemp`
diff -u $BASE $OTHER > $T
if patch $LOCAL < $T ; then
exit 0
else
$EDITOR $LOCAL $LOCAL.rej
fi
rm $T
exit 1
fi
fi
echo "hgmerge: unable to find merge, tkdiff, kdiff3, or diff+patch!"
exit 1