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.
% initial svn import
Adding t/a
Committed revision 1.
% update svn repository
A t2/a
Checked out revision 1.
A b
Sending a
Adding b
Transmitting file data ..
Committed revision 2.
% convert to hg once
assuming destination trunk-hg
initializing destination trunk-hg repository
scanning source...
sorting...
converting...
1 init
0 changea
% update svn repository again
Sending a
Sending b
Transmitting file data ..
Committed revision 3.
% test incremental conversion
assuming destination trunk-hg
destination trunk-hg is a Mercurial repository
scanning source...
sorting...
converting...
0 changeb