tests/test-mq-qqueue
author Christian Ebert <blacktrash@gmx.net>
Tue, 14 Sep 2010 22:11:46 +0200
changeset 12281 d9cf0d1d0d0f
parent 11967 6e3875a80533
permissions -rwxr-xr-x
mq: consistently use opts.get() to prevent potential KeyError

#!/bin/sh

echo "[extensions]" >> $HGRCPATH
echo "mq=" >> $HGRCPATH

hg init foo
cd foo
echo a > a
hg ci -qAm a

echo %% default queue
hg qqueue

echo b > a
hg qnew -fgDU somestuff

echo %% applied patches in default queue
hg qap

echo %% try to change patch \(create succeeds, switch fails\)
hg qqueue foo --create
hg qqueue

echo %% empty default queue
hg qpop

echo %% switch queue
hg qqueue foo
hg qqueue

echo %% list queues, quiet
hg qqueue --quiet

echo %% fail creating queue with already existing name
hg qqueue --create foo
hg qqueue

echo %% create new queue for rename
hg qqueue --create bar
hg qqueue

echo %% rename queue, same name
hg qqueue --rename bar

echo %% rename queue to existing
hg qqueue --rename foo

echo %% rename queue
hg qqueue --rename buz
hg qqueue

echo %% switch back to previous queue
hg qqueue foo
hg qqueue --delete buz
hg qqueue

echo %% create queue for purge
hg qqueue --create purge-me
hg qqueue

echo %% create patch for purge
hg qnew patch-purge-me
ls -1d .hg/patches-purge-me 2>/dev/null || true
hg qpop -a

echo %% purge queue
hg qqueue foo
hg qqueue --purge purge-me
hg qqueue
ls -1d .hg/patches-purge-me 2>/dev/null || true

echo %% unapplied patches
hg qun
echo c > a
hg qnew -fgDU otherstuff

echo %% fail switching back
hg qqueue patches

echo %% fail deleting current
hg qqueue foo --delete

echo %% switch back and delete foo
hg qpop -a
hg qqueue patches
hg qqueue foo --delete
hg qqueue

echo %% tricky cases
hg qqueue store --create
hg qnew journal
hg qqueue
hg qpop -a
hg qqueue patches
hg qun

echo %% invalid names
hg qqueue test/../../bar --create
hg qqueue . --create

cd ..