revlog: fix revlogio.packentry corner case
We want to store version information about the revlog in the first
entry of its index. The code in packentry was using some heuristics
to detect whether this was the first entry, but these heuristics could
fail in some cases (e.g. rev 0 was empty; rev 1 descends directly from
the nullid and is stored as a delta).
We now give the revision number to packentry to avoid heuristics.
% create cvs repository
% create source directory
% import source directory
N src/a
N src/b/c
No conflicts created by this import
% checkout source directory
U src/a
U src/b/c
% convert fresh repo
initializing destination src-hg repository
connecting to cvsrepo
scanning source...
sorting...
converting...
1 Initial revision
0 import
updating tags
a
c
% commit new file revisions
src/a,v <-- a
new revision: 1.2; previous revision: 1.1
src/b/c,v <-- b/c
new revision: 1.2; previous revision: 1.1
% convert again
destination src-hg is a Mercurial repository
connecting to cvsrepo
scanning source...
sorting...
converting...
0 ci1
updating tags
a
a
c
c