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
echo "[extensions]" >> $HGRCPATH
echo "patchbomb=" >> $HGRCPATH
hg init
echo a > a
hg commit -Ama -d '1 0'
hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar tip | \
sed -e 's/\(Message-Id:.*@\).*/\1/'
echo b > b
hg commit -Amb -d '2 0'
hg email --date '1970-1-1 0:2' -n -f quux -t foo -c bar -s test 0:tip | \
sed -e 's/\(Message-Id:.*@\).*/\1/' | \
sed -e 's/\(In-Reply-To:.*@\).*/\1/'
hg email -m test.mbox -f quux -t foo -c bar -s test 0:tip