tests/test-merge-internal-tools-pattern
author Brodie Rao <brodie@bitheap.org>
Fri, 27 Aug 2010 22:36:35 -0400
branchstable
changeset 12083 ebfc46929f3e
parent 6521 a3668330f14a
child 12156 4c94b6d0fb1c
permissions -rwxr-xr-x
help: refer to user configuration file more consistently Currently, a number of commands and help topics mention the user hgrc file in different ways. Among these are following: 1. .hgrc - "please specify your commit editor/username in your .hgrc file", bookmarks, color, hgk, pager, hg help environment 2. $HOME/.hgrc - hg help paths, hgrc(5), hg(1) 3. ~/.hgrc - hgrc(5) In addition to being inconsistent, none of these make sense on Windows. This patch replaces the above with a more general term of "[your] configuration file".

#!/bin/sh

# make sure that the internal merge tools (internal:fail, internal:local, and
# internal:other) are used when matched by a merge-pattern in hgrc

unset HGMERGE # make sure HGMERGE doesn't interfere with the test

hg init

echo "# initial file contents"
echo "line 1" > f
echo "line 2" >> f
echo "line 3" >> f
hg commit -Am "revision 0" -d "1000000 0"
cat f
echo "# branch 1: editing line 1"
sed 's/line 1/first line/' f > f.new
mv f.new f
hg commit -Am "edited first line" -d "1000000 0"

echo "# branch 2: editing line 3"
hg update 0
sed 's/line 3/third line/' f > f.new
mv f.new f
hg commit -Am "edited third line" -d "1000000 0"

echo "# merge using internal:fail tool"
echo "[merge-patterns]" > .hg/hgrc
echo "* = internal:fail" >> .hg/hgrc
hg merge
cat f
hg stat

echo "# merge using internal:local tool"
hg update -C 2
sed 's/internal:fail/internal:local/' .hg/hgrc > .hg/hgrc.new
mv .hg/hgrc.new .hg/hgrc
hg merge
cat f
hg stat

echo "# merge using internal:other tool"
hg update -C 2
sed 's/internal:local/internal:other/' .hg/hgrc > .hg/hgrc.new
mv .hg/hgrc.new .hg/hgrc
hg merge
cat f
hg stat

echo "# merge using default tool"
hg update -C 2
rm .hg/hgrc
hg merge
cat f
hg stat