view tests/test-imerge @ 7069:852f39691a0a

Eliminate normpath from foldmap calls. Normcase already takes care of upper/lower case and /->\ conversions. What's left for normpath is folding of a/../a sequences but this should be either done consistently on both non-folding and folding code path or not at all, otherwise we are introducing inconsistent behavior between the two that has nothing to do with case folding. Second argument against it - normpath being pure Python function is very slow - as much as 50% of time is spend just inside normpath call on my repository.
author Petr Kodl <petrkodl@gmail.com>
date Tue, 30 Sep 2008 17:23:08 -0400
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