mq: new commands qselect, qguard
implement quilt-style guards for mq.
guards allow to control whether patch can be pushed.
if guard X is active and patch is guarded by +X (called "posative guard"),
patch can be pushed. if patch is guarded by -X (called "nagative guard"),
patch cannot be pushed and is skipped.
use qguard to set/list guards on patches. use qselect to set/list
active guards.
also "qseries -v" prints guarded patches with "G" now.
#!/bin/sh
#
# Corrupt an hg repo with two pulls.
#
# create one repo with a long history
hg init source1
cd source1
touch foo
hg add foo
for i in 1 2 3 4 5 6 7 8 9 10; do
echo $i >> foo
hg ci -m $i
done
cd ..
# create a third repo to pull both other repos into it
hg init version2
hg -R version2 pull source1 &
sleep 1
hg clone --pull -U version2 corrupted
wait
hg -R corrupted verify
hg -R version2 verify