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 a
cd a
hg init b
echo x > b/x
echo '# should print nothing'
hg st
echo '# should print ? b/x'
hg st b/x
hg add b/x
echo '# should print A b/x'
hg st
echo '# should forget b/x'
hg revert --all
echo '# should print nothing'
hg st b