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
mkdir a
cd a
hg init
echo 123 > a
hg add a
hg commit -m "a" -u a -d "1000000 0"
cd ..
mkdir b
cd b
hg init
echo 321 > b
hg add b
hg commit -m "b" -u b -d "1000000 0"
hg pull ../a
hg pull -f ../a
hg heads