tests/test-copy2
author Alexis S. L. Carvalho <alexis@cecm.usp.br>
Sat, 14 Oct 2006 18:47:48 -0300
changeset 3390 a74addddd092
parent 1252 94f38724283f
child 3853 c0b449154a90
permissions -rwxr-xr-x
make revlog.addgroup pass its file handles to addrevision This should fix issue255. It looks like the problem there happens when addgroup calls addrevision to add a full revision, and addrevision decides to split the index file into a .i/.d pair. Since addgroup has an open file handle for the index file, the renaming of the new .i file to its final name fails on windows.

#!/bin/sh

hg init
echo foo > foo
hg add foo
hg commit -m1 -d"0 0"

echo "# should show copy"
hg copy foo bar
hg debugstate|grep '^copy'

echo "# shouldn't show copy"
hg commit -m2 -d"0 0"
hg debugstate|grep '^copy'

echo "# should match"
hg debugindex .hg/data/foo.i
hg debugrename bar

echo bleah > foo
echo quux > bar
hg commit -m3 -d"0 0"

echo "# should not be renamed"
hg debugrename bar

hg copy -f foo bar
echo "# should show copy"
hg debugstate|grep '^copy'
hg commit -m3 -d"0 0"

echo "# should show no parents for tip"
hg debugindex .hg/data/bar.i
echo "# should match"
hg debugindex .hg/data/foo.i
hg debugrename bar

echo "# should show no copies"
hg debugstate|grep '^copy'

exit 0