convert: handle past or foreign partial svn copies
Subversion allows revisions to be composed of subparts coming from revisions
before the parent or from other part of the repository. There is no simple
representation for these now, keep the changes but do not track their origins.
#!/bin/sh
echo '[extensions]' >> $HGRCPATH
echo 'hgext.mq =' >> $HGRCPATH
hg init repo
cd repo
echo foo > foo
hg ci -qAm 'add a file'
hg qinit
hg qnew foo
echo foo >> foo
hg qrefresh -m 'append foo'
hg qnew bar
echo bar >> foo
hg qrefresh -m 'append bar'
echo '% try to commit on top of a patch'
echo quux >> foo
hg ci -m 'append quux'
# cheat a bit...
mv .hg/patches .hg/patches2
hg ci -m 'append quux'
mv .hg/patches2 .hg/patches
echo '% qpop/qrefresh on the wrong revision'
hg qpop
hg qpop -n patches 2>&1 | sed -e 's/\(using patch queue:\).*/\1/'
hg qrefresh
hg up -C qtip
echo '% qpop'
hg qpop
echo '% qrefresh'
hg qrefresh
echo '% tip:'
hg tip --template '#rev# #desc#\n'