tests/test-merge-remove
author Greg Ward <greg-hg@gerg.ca>
Tue, 20 Jul 2010 14:00:47 -0400
branchstable
changeset 11628 68a30daead3f
parent 6299 653ddd1d7cd7
permissions -rwxr-xr-x
inotify: make inotifydirstate.status() returns a tuple of lists. This makes it consistent with dirstate.status(), which is important if there are other extensions messing with the output of status(). Those extensions can safely assume that dirstate.status() returns a tuple of lists, because its docstring says it does. But inotifystatus.dirstate() returns a list of lists, which can break those other extensions.

#!/bin/sh

hg init repo
cd repo

echo foo > foo
echo bar > bar
hg ci -qAm 'add foo bar'

echo foo2 >> foo
echo bleh > bar
hg ci -m 'change foo bar'

hg up -qC 0
hg mv foo foo1
echo foo1 > foo1
hg cat foo >> foo1
hg ci -m 'mv foo foo1'

hg merge
hg debugstate --nodates
hg st -q

echo '% removing foo1 and bar'
cp foo1 F
cp bar B
hg rm -f foo1 bar
hg debugstate --nodates
hg st -qC

echo '% readding foo1 and bar'
cp F foo1
cp B bar
hg add -v foo1 bar
hg debugstate --nodates
hg st -qC

echo '% reverting foo1 and bar'
hg revert -vr . foo1 bar
hg debugstate --nodates
hg st -qC
hg diff