view tests/test-mq-pull-from-bundle @ 6297:fed1a9c22076

dirstate.remove: during merges, remember the previous file state We encode the previous state as a negative file size (AFAICS, previous versions of hg always have size == 0 when state == 'r'). We save the state of 'm'erged and dirty files, because they're the two states that indicate that a file has to be committed on a merge to correctly record per-file history.
author Alexis S. L. Carvalho <alexis@cecm.usp.br>
date Tue, 18 Mar 2008 04:07:39 -0300
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 ..