view tests/test-mq-qqueue @ 11271:d1aca0863a9d

mq: prevent the creation of a queue whose name is already taken Each check is moved under the code handling the relevant option, and a new one is added for --create. This fixes duplicated entries being added to the queues list.
author Cédric Duval <cedricduval@free.fr>
date Thu, 03 Jun 2010 20:40:23 +0200
parents 457813cb3024
children e8a66a40474d
line wrap: on
line source

#!/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 %% fail creating queue with already existing name
hg qqueue --create foo
hg qqueue

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 test
hg qqueue
hg qpop -a
hg qqueue patches
hg qun

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

cd ..