mirror of
https://github.com/facebook/sapling.git
synced 2024-10-09 08:18:15 +03:00
87f9cf5483
qqueue --delete only deletes the reference to the queue, and leaves the associated patch directory behind. There is no Mercurial-way of getting rid of that patch directory afterward. This patch adds the --purge option to qqueue, that deletes the queue from the list, and also removes the associated patch dir. If the queue was non-existant, but the patch dir was, it is removed nonetheless. This is to avoid manual intervention in the .hg directory.
102 lines
1.6 KiB
Bash
Executable File
102 lines
1.6 KiB
Bash
Executable File
#!/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 ..
|