mirror of
https://github.com/facebook/sapling.git
synced 2024-10-07 15:27:13 +03:00
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.
This commit is contained in:
parent
e297c198c0
commit
2451adfa26
56
tests/test-merge-internal-tools-pattern
Normal file
56
tests/test-merge-internal-tools-pattern
Normal file
@ -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
|
||||
|
43
tests/test-merge-internal-tools-pattern.out
Normal file
43
tests/test-merge-internal-tools-pattern.out
Normal file
@ -0,0 +1,43 @@
|
||||
# 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
|
||||
There are unresolved merges, you can redo the full merge using:
|
||||
hg update -C 2
|
||||
hg merge 1
|
||||
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
|
Loading…
Reference in New Issue
Block a user