# HG changeset patch # User Adrian Buehlmann # Date 1284228275 -7200 # Node ID 470e0b1ddc6e81d7205e34201414717c3f927eae # Parent 2a06cb547be80c1a42f5643c8f266487a26d1ba8 tests: unify test-merge-internal-tools-pattern diff -r 2a06cb547be8 -r 470e0b1ddc6e tests/test-merge-internal-tools-pattern --- a/tests/test-merge-internal-tools-pattern Sat Sep 11 17:58:37 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,56 +0,0 @@ -#!/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" -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" - -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" - -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 - diff -r 2a06cb547be8 -r 470e0b1ddc6e tests/test-merge-internal-tools-pattern.out --- a/tests/test-merge-internal-tools-pattern.out Sat Sep 11 17:58:37 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,41 +0,0 @@ -# initial file contents -adding f -line 1 -line 2 -line 3 -# branch 1: editing line 1 -# branch 2: editing line 3 -1 files updated, 0 files merged, 0 files removed, 0 files unresolved -created new head -# merge using internal:fail tool -0 files updated, 0 files merged, 0 files removed, 1 files unresolved -use 'hg resolve' to retry unresolved file merges or 'hg update -C' to abandon -line 1 -line 2 -third line -M f -# merge using internal:local tool -1 files updated, 0 files merged, 0 files removed, 0 files unresolved -0 files updated, 1 files merged, 0 files removed, 0 files unresolved -(branch merge, don't forget to commit) -line 1 -line 2 -third line -M f -# merge using internal:other tool -1 files updated, 0 files merged, 0 files removed, 0 files unresolved -0 files updated, 1 files merged, 0 files removed, 0 files unresolved -(branch merge, don't forget to commit) -first line -line 2 -line 3 -M f -# merge using default tool -1 files updated, 0 files merged, 0 files removed, 0 files unresolved -merging f -0 files updated, 1 files merged, 0 files removed, 0 files unresolved -(branch merge, don't forget to commit) -first line -line 2 -third line -M f diff -r 2a06cb547be8 -r 470e0b1ddc6e tests/test-merge-internal-tools-pattern.t --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-merge-internal-tools-pattern.t Sat Sep 11 20:04:35 2010 +0200 @@ -0,0 +1,111 @@ +# Make sure that the internal merge tools (internal:fail, internal:local, and +# internal:other) are used when matched by a merge-pattern in hgrc + +Make sure HGMERGE doesn't interfere with the test: + + $ unset HGMERGE + + $ hg init + +Initial file contents: + + $ echo "line 1" > f + $ echo "line 2" >> f + $ echo "line 3" >> f + $ hg ci -Am "revision 0" + adding f + + $ cat f + line 1 + line 2 + line 3 + +Branch 1: editing line 1: + + $ sed 's/line 1/first line/' f > f.new + $ mv f.new f + $ hg ci -Am "edited first line" + +Branch 2: editing line 3: + + $ hg update 0 + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ sed 's/line 3/third line/' f > f.new + $ mv f.new f + $ hg ci -Am "edited third line" + created new head + +Merge using internal:fail tool: + + $ echo "[merge-patterns]" > .hg/hgrc + $ echo "* = internal:fail" >> .hg/hgrc + + $ hg merge + 0 files updated, 0 files merged, 0 files removed, 1 files unresolved + use 'hg resolve' to retry unresolved file merges or 'hg update -C' to abandon + + $ cat f + line 1 + line 2 + third line + + $ hg stat + M f + +Merge using internal:local tool: + + $ hg update -C 2 + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ sed 's/internal:fail/internal:local/' .hg/hgrc > .hg/hgrc.new + $ mv .hg/hgrc.new .hg/hgrc + + $ hg merge + 0 files updated, 1 files merged, 0 files removed, 0 files unresolved + (branch merge, don't forget to commit) + + $ cat f + line 1 + line 2 + third line + + $ hg stat + M f + +Merge using internal:other tool: + + $ hg update -C 2 + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ sed 's/internal:local/internal:other/' .hg/hgrc > .hg/hgrc.new + $ mv .hg/hgrc.new .hg/hgrc + + $ hg merge + 0 files updated, 1 files merged, 0 files removed, 0 files unresolved + (branch merge, don't forget to commit) + + $ cat f + first line + line 2 + line 3 + + $ hg stat + M f + +Merge using default tool: + + $ hg update -C 2 + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ rm .hg/hgrc + + $ hg merge + merging f + 0 files updated, 1 files merged, 0 files removed, 0 files unresolved + (branch merge, don't forget to commit) + + $ cat f + first line + line 2 + third line + + $ hg stat + M f +