test-archive: silence stupid messages from GNU tar
Recent versions of GNU tar have apparently decided they're old enough
that it's ok for them to prattle on senselessly about things no one
cares about without anyone objecting. We object; apply duct tape.
#!/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