We’re trying to move from Subversion to Mercurial and we’ve hit a snag. “svnadmin verify” produces this error:
svnadmin: No such revision 21228
Looking on the server, there is no file in the “revs” directory for 21228. Everything else is intact and the current head is working perfectly (we’re on revision 63000 or so now).
We don’t really care about this revision, but we don’t really want to lose the history for 1-21227 when converting. Does anyone know of a way of forcing SVN to ignore this error or recover the missing file in some way?
I went through something similar in one of my svn -> hg conversions. If you’re not worried about what was in that revision you can probably do the conversion in three steps:
1) Dump the SVN repository twice using
svnadmin dump, skipping over the bad revisionand reload them into new temporary SVN repos.
2) Convert the two temp repositories into two hg repositories using
hg convertand pull all the changesets from the second into the first repository (using
hg pull -fto force the import of the unrelated changesets).You’ll then have one repo with a break in the revision history where you split the svn repo.
3) Splice the two trees together with the
hg rebaseextension as described in Splicing over discontinuities in Mercurial repository timeline