convert: allow the converter_source to say "skip this revision"
If getchanges returns a string, it's assumed to be the id of an
already converted revision. We map the current revision to the same
revision this converted revision was mapped to.
To allow skipping a root revision, getchanges can return the special
string 'hg-convert-skipped-revision' (a.k.a. common.SKIPREV), which
hopefully won't clash with any real id.
The converter_source is responsible for rewriting the parents of the
commit objects to make sure the revision graph makes sense.
%%% should show a removed and b added
A b
R a
reverting...
undeleting a
forgetting b
%%% should show b unknown and a back to normal
? b
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
merging a
0 files updated, 1 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
%%% should show foo-b
foo-b
%%% should show a removed and b added
A b
R a
%%% revert should fail
abort: uncommitted merge - please provide a specific revision
%%% revert should be ok now
undeleting a
forgetting b
%%% should show b unknown and a marked modified (merged)
? b
%%% should show foo-b
foo-b