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.
#!/bin/sh
hg init a
cd a
hg init b
echo x > b/x
echo '# should print nothing'
hg add b
hg st
echo '# should fail'
hg st b/x
hg add b/x
echo '# should fail'
hg add b b/x
hg st
echo '# should arguably print nothing'
hg st b
echo a > a
hg ci -Ama a
echo '# should fail'
hg mv a b
hg st