convert/svn: delegate to svn bindings if HTTP probe fails
convert extension tries to guess the remote repository type with HTTP probes.
Unfortunately, it does not handle authentication or HTTPS handshakes, so regular
svn repositories may be excluded. Instead, when a non-404 error is retrieved,
we keep trying with the svn bindings. The drawback is missing svn bindings will
make the conversion to fail even for non-svn targets. This can be avoided with
--source.
#!/bin/sh
. "$TESTDIR/bzr-definitions"
cat > ghostcreator.py <<EOF
import sys
from bzrlib import workingtree
wt = workingtree.WorkingTree.open('.')
message, ghostrev = sys.argv[1:]
wt.set_parent_ids(wt.get_parent_ids() + [ghostrev])
wt.commit(message)
EOF
echo % ghost revisions
mkdir test-ghost-revisions
cd test-ghost-revisions
bzr init -q source
cd source
echo content > somefile
bzr add -q somefile
bzr commit -q -m 'Initial layout setup'
echo morecontent >> somefile
python ../../ghostcreator.py 'Commit with ghost revision' ghostrev
cd ..
hg convert source source-hg
glog -R source-hg