tests/test-imerge
author Alexis S. L. Carvalho <alexis@cecm.usp.br>
Sat, 18 Aug 2007 21:36:10 -0300
changeset 5200 c7e8fe11f34a
parent 5065 12930b97a729
child 5224 9cd6578750b9
permissions -rwxr-xr-x
path_auditor: cache names of audited directories We use a separate cache to avoid problems with audit = path_auditor(repo.root) audit("subrepo") audit("subrepo/file") whitelisting "subrepo" (which is fine) and then using the same whitelist with "subrepo/file" (which is not fine). Since we create a separate path_auditor for every path on the command line, a "hg add dir/a dir/b dir/c" will still lstat dir 3 times just to audit the paths.

#!/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 % 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 % 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
hg imerge

exit 0