view tests/test-mq-pull-from-bundle @ 5810:124577de40a7

context: preserve changeset in filectx if we have one If we know original changeset we are working with - try hard to preserve it. Fallback to filelog.linkrev() only if we have no way to get original changeset, since linkrev() may point to other changeset.
author Maxim Dounin <mdounin@mdounin.ru>
date Sat, 29 Dec 2007 16:57:43 +0300
parents 5d14d71148b8
children bc784304fea1
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 "====== .hgrc"
cat $HGRCPATH

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 ..