tests: unify test-merge-internal-tools-pattern

This commit is contained in:
Adrian Buehlmann 2010-09-11 20:04:35 +02:00
parent 010ea362c8
commit 6fa6d14d98
3 changed files with 111 additions and 97 deletions

View File

@ -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

View File

@ -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

View File

@ -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