Mercurial > public > mercurial-scm > hg
diff tests/test-merge-internal-tools-pattern @ 6521:a3668330f14a
test that internal merge tools are used when set for a merge-pattern in hgrc
It is possible to specify that one of the internal merge tools (internal:fail,
internal:local or internal:other) should be used for performing merges on files
matching a given pattern. This test makes sure that such a setting actually
works.
author | Dov Feldstern <dfeldstern@fastimap.com> |
---|---|
date | Fri, 04 Apr 2008 02:20:58 +0300 |
parents | |
children | 4c94b6d0fb1c |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-merge-internal-tools-pattern Fri Apr 04 02:20:58 2008 +0300 @@ -0,0 +1,56 @@ +#!/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 +