view tests/test-imerge @ 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 bbfebf751ac8
children
line wrap: on
line source

#!/bin/sh

echo "[extensions]" >> $HGRCPATH
echo "imerge=" >> $HGRCPATH
HGMERGE=true
export HGMERGE

hg init base
cd base

echo foo > foo
echo bar > bar
hg ci -Am0 -d '0 0'

hg mv foo foo2
echo foo >> foo2
hg ci -m1 -d '1 0'

hg up -C 0
echo bar >> foo
echo bar >> bar
hg ci -m2 -d '2 0'

echo % start imerge
hg imerge

cat foo2
cat bar

echo % status -v
hg -v imerge st

echo % next
hg imerge next

echo % resolve and unresolve
hg imerge resolve foo
hg -v imerge st
hg imerge unresolve foo
hg -v imerge st

echo % merge next
hg --traceback imerge

echo % unresolve
hg imerge unres foo

echo % merge foo
hg imerge merge foo

echo % save
echo foo > foo2
hg imerge save ../savedmerge

echo % merge auto
hg up -C 1
hg --traceback imerge --auto
cat foo2

echo % load
hg up -C 0
hg imerge --traceback load ../savedmerge
cat foo2

hg ci -m'merged' -d '3 0'
hg tip -v

echo % nothing to merge -- tip
hg imerge

hg up 0
echo % nothing to merge
hg imerge

cd ..
hg -q clone -r 0 base clone
cd clone
echo % load unknown parent
hg imerge load ../savedmerge

exit 0