Mercurial > hg
view tests/test-mq-pull-from-bundle @ 7585:075b7ef0f84d
convert/gnuarch: follow continuation-of revisions
Built on top of previous patches:
- continuation-of parsing
- registered archives retrieval
- use of fully qualified revisions
This allows the converter scanning for more source revisions
following the tree versions 'leaked' through the continuation-of
informations. Coupled with the registered archives retrieval, this
makes possible to decide to follow such a hint or stop scanning for
more revisions.
This also implies some changes in the retrieval of some base-0
revisions when they're continuation-of other revisions, in that
case a 'replay' will work where a simple 'get' fails because the
dir exists already. I found the code dealing with 'replay' quite
good as it has already a fallback to 'get' in the error path.
author | Edouard Gomez <ed.gomez@free.fr> |
---|---|
date | Sun, 04 Jan 2009 02:36:48 +0100 |
parents | bc784304fea1 |
children |
line wrap: on
line source
#!/bin/sh cat <<EOF >> $HGRCPATH [extensions] mq= [defaults] log = --template "{rev}: {desc}\\n" heads = --template "{rev}: {desc}\\n" incoming = --template "{rev}: {desc}\\n" EOF echo "====== Setup main" hg init base cd base echo "One" > one hg add hg ci -m "main: one added." echo "++" >> one hg ci -m "main: one updated." echo "====== Bundle main" hg bundle --base=null ../main.hg cd .. echo "====== Incoming to fresh repo" hg init fresh echo ">> hg -R fresh incoming main.hg" hg -R fresh incoming main.hg echo ">> hg -R fresh incoming bundle:fresh+main.hg" hg -R fresh incoming bundle:fresh+main.hg echo "====== Setup queue" cd base hg qinit -c hg qnew -m "patch: two added." two.patch echo two > two hg add hg qrefresh hg qcommit -m "queue: two.patch added." hg qpop -a echo "====== Bundle queue" hg -R .hg/patches bundle --base=null ../queue.hgq cd .. echo "====== Clone base" hg clone base copy cd copy hg qinit -c echo "====== Incoming queue bundle" echo ">> hg -R .hg/patches incoming ../queue.hgq" hg -R .hg/patches incoming ../queue.hgq echo "====== Pull queue bundle" echo ">> hg -R .hg/patches pull --update ../queue.hgq" hg -R .hg/patches pull --update ../queue.hgq echo ">> hg -R .hg/patches heads" hg -R .hg/patches heads echo ">> hg -R .hg/patches log" hg -R .hg/patches log echo ">> hg qseries" hg qseries cd .. echo "====== Clone base again" hg clone base copy2 cd copy2 hg qinit -c echo "====== Unbundle queue bundle" echo ">> hg -R .hg/patches unbundle --update ../queue.hgq" hg -R .hg/patches unbundle --update ../queue.hgq echo ">> hg -R .hg/patches heads" hg -R .hg/patches heads echo ">> hg -R .hg/patches log" hg -R .hg/patches log echo ">> hg qseries" hg qseries cd ..