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.
% new file
applying patch from stdin
% chmod +x
applying patch from stdin
% copy
applying patch from stdin
a
a
% rename
applying patch from stdin
copyx
new
rename
% delete
applying patch from stdin
new
rename
% regular diff
applying patch from stdin
% copy and modify
applying patch from stdin
a
a
b
a
a
% rename and modify
applying patch from stdin
copy2: No such file or directory
a
a
b
c
a