test-mq-guards.t
432 lines
| 6.9 KiB
| text/troff
|
Tads3Lexer
/ tests / test-mq-guards.t
Nicolas Dumazet
|
r11896 | $ echo "[extensions]" >> $HGRCPATH | ||
$ echo "mq=" >> $HGRCPATH | ||||
$ hg init | ||||
$ hg qinit | ||||
$ echo x > x | ||||
$ hg ci -Ama | ||||
adding x | ||||
$ hg qnew a.patch | ||||
$ echo a > a | ||||
$ hg add a | ||||
$ hg qrefresh | ||||
$ hg qnew b.patch | ||||
$ echo b > b | ||||
$ hg add b | ||||
$ hg qrefresh | ||||
$ hg qnew c.patch | ||||
$ echo c > c | ||||
$ hg add c | ||||
$ hg qrefresh | ||||
$ hg qpop -a | ||||
popping c.patch | ||||
popping b.patch | ||||
popping a.patch | ||||
patch queue now empty | ||||
should fail | ||||
$ hg qguard does-not-exist.patch +bleh | ||||
abort: no patch named does-not-exist.patch | ||||
should fail | ||||
$ hg qguard +fail | ||||
abort: no patches applied | ||||
$ hg qpush | ||||
applying a.patch | ||||
now at: a.patch | ||||
should guard a.patch | ||||
$ hg qguard +a | ||||
should print +a | ||||
$ hg qguard | ||||
a.patch: +a | ||||
$ hg qpop | ||||
popping a.patch | ||||
patch queue now empty | ||||
should fail | ||||
$ hg qpush a.patch | ||||
cannot push 'a.patch' - guarded by ['+a'] | ||||
$ hg qguard a.patch | ||||
a.patch: +a | ||||
should push b.patch | ||||
$ hg qpush | ||||
applying b.patch | ||||
now at: b.patch | ||||
$ hg qpop | ||||
popping b.patch | ||||
patch queue now empty | ||||
test selection of an empty guard | ||||
$ hg qselect "" | ||||
abort: guard cannot be an empty string | ||||
$ hg qselect a | ||||
number of unguarded, unapplied patches has changed from 2 to 3 | ||||
should push a.patch | ||||
$ hg qpush | ||||
applying a.patch | ||||
now at: a.patch | ||||
$ hg qguard -- c.patch -a | ||||
should print -a | ||||
$ hg qguard c.patch | ||||
c.patch: -a | ||||
should skip c.patch | ||||
$ hg qpush -a | ||||
applying b.patch | ||||
skipping c.patch - guarded by '-a' | ||||
now at: b.patch | ||||
should display b.patch | ||||
$ hg qtop | ||||
b.patch | ||||
$ hg qguard -n c.patch | ||||
should push c.patch | ||||
$ hg qpush -a | ||||
applying c.patch | ||||
now at: c.patch | ||||
$ hg qpop -a | ||||
popping c.patch | ||||
popping b.patch | ||||
popping a.patch | ||||
patch queue now empty | ||||
$ hg qselect -n | ||||
guards deactivated | ||||
number of unguarded, unapplied patches has changed from 3 to 2 | ||||
should push all | ||||
$ hg qpush -a | ||||
applying b.patch | ||||
applying c.patch | ||||
now at: c.patch | ||||
$ hg qpop -a | ||||
popping c.patch | ||||
popping b.patch | ||||
patch queue now empty | ||||
$ hg qguard a.patch +1 | ||||
$ hg qguard b.patch +2 | ||||
$ hg qselect 1 | ||||
number of unguarded, unapplied patches has changed from 1 to 2 | ||||
should push a.patch, not b.patch | ||||
$ hg qpush | ||||
applying a.patch | ||||
now at: a.patch | ||||
$ hg qpush | ||||
applying c.patch | ||||
now at: c.patch | ||||
$ hg qpop -a | ||||
popping c.patch | ||||
popping a.patch | ||||
patch queue now empty | ||||
$ hg qselect 2 | ||||
should push b.patch | ||||
$ hg qpush | ||||
applying b.patch | ||||
now at: b.patch | ||||
$ hg qpush -a | ||||
applying c.patch | ||||
now at: c.patch | ||||
Used to be an issue with holes in the patch sequence | ||||
So, put one hole on the base and ask for topmost patch. | ||||
$ hg qtop | ||||
c.patch | ||||
$ hg qpop -a | ||||
popping c.patch | ||||
popping b.patch | ||||
patch queue now empty | ||||
$ hg qselect 1 2 | ||||
number of unguarded, unapplied patches has changed from 2 to 3 | ||||
should push a.patch, b.patch | ||||
$ hg qpush | ||||
applying a.patch | ||||
now at: a.patch | ||||
$ hg qpush | ||||
applying b.patch | ||||
now at: b.patch | ||||
$ hg qpop -a | ||||
popping b.patch | ||||
popping a.patch | ||||
patch queue now empty | ||||
$ hg qguard -- a.patch +1 +2 -3 | ||||
$ hg qselect 1 2 3 | ||||
number of unguarded, unapplied patches has changed from 3 to 2 | ||||
list patches and guards | ||||
$ hg qguard -l | ||||
a.patch: +1 +2 -3 | ||||
b.patch: +2 | ||||
c.patch: unguarded | ||||
have at least one patch applied to test coloring | ||||
$ hg qpush | ||||
applying b.patch | ||||
now at: b.patch | ||||
list patches and guards with color | ||||
$ hg --config extensions.color= qguard --config color.mode=ansi \ | ||||
> -l --color=always | ||||
[0;30;1ma.patch[0m: [0;33m+1[0m [0;33m+2[0m [0;31m-3[0m | ||||
[0;34;1;4mb.patch[0m: [0;33m+2[0m | ||||
[0;30;1mc.patch[0m: [0;32munguarded[0m | ||||
should pop b.patch | ||||
$ hg qpop | ||||
popping b.patch | ||||
patch queue now empty | ||||
list series | ||||
$ hg qseries -v | ||||
0 G a.patch | ||||
1 U b.patch | ||||
2 U c.patch | ||||
list guards | ||||
$ hg qselect | ||||
1 | ||||
2 | ||||
3 | ||||
should push b.patch | ||||
$ hg qpush | ||||
applying b.patch | ||||
now at: b.patch | ||||
$ hg qpush -a | ||||
applying c.patch | ||||
now at: c.patch | ||||
$ hg qselect -n --reapply | ||||
guards deactivated | ||||
popping guarded patches | ||||
popping c.patch | ||||
popping b.patch | ||||
patch queue now empty | ||||
reapplying unguarded patches | ||||
applying c.patch | ||||
now at: c.patch | ||||
guards in series file: +1 +2 -3 | ||||
$ hg qselect -s | ||||
+1 | ||||
+2 | ||||
-3 | ||||
should show c.patch | ||||
$ hg qapplied | ||||
c.patch | ||||
$ hg qrename a.patch new.patch | ||||
should show : | ||||
new.patch: +1 +2 -3 | ||||
b.patch: +2 | ||||
c.patch: unguarded | ||||
$ hg qguard -l | ||||
new.patch: +1 +2 -3 | ||||
b.patch: +2 | ||||
c.patch: unguarded | ||||
$ hg qnew d.patch | ||||
$ hg qpop | ||||
popping d.patch | ||||
now at: c.patch | ||||
should show new.patch and b.patch as Guarded, c.patch as Applied | ||||
and d.patch as Unapplied | ||||
$ hg qseries -v | ||||
0 G new.patch | ||||
1 G b.patch | ||||
2 A c.patch | ||||
3 U d.patch | ||||
qseries again, but with color | ||||
$ hg --config extensions.color= qseries -v --color=always | ||||
0 G [0;30;1mnew.patch[0m | ||||
1 G [0;30;1mb.patch[0m | ||||
2 A [0;34;1;4mc.patch[0m | ||||
3 U [0;30;1md.patch[0m | ||||
$ hg qguard d.patch +2 | ||||
new.patch, b.patch: Guarded. c.patch: Applied. d.patch: Guarded. | ||||
$ hg qseries -v | ||||
0 G new.patch | ||||
1 G b.patch | ||||
2 A c.patch | ||||
3 G d.patch | ||||
$ qappunappv() | ||||
> { | ||||
> for command in qapplied "qapplied -v" qunapplied "qunapplied -v"; do | ||||
> echo % hg $command | ||||
> hg $command | ||||
> done | ||||
> } | ||||
$ hg qpop -a | ||||
popping c.patch | ||||
patch queue now empty | ||||
$ hg qguard -l | ||||
new.patch: +1 +2 -3 | ||||
b.patch: +2 | ||||
c.patch: unguarded | ||||
d.patch: +2 | ||||
$ qappunappv | ||||
% hg qapplied | ||||
% hg qapplied -v | ||||
% hg qunapplied | ||||
c.patch | ||||
% hg qunapplied -v | ||||
0 G new.patch | ||||
1 G b.patch | ||||
2 U c.patch | ||||
3 G d.patch | ||||
$ hg qselect 1 | ||||
number of unguarded, unapplied patches has changed from 1 to 2 | ||||
$ qappunappv | ||||
% hg qapplied | ||||
% hg qapplied -v | ||||
% hg qunapplied | ||||
new.patch | ||||
c.patch | ||||
% hg qunapplied -v | ||||
0 U new.patch | ||||
1 G b.patch | ||||
2 U c.patch | ||||
3 G d.patch | ||||
$ hg qpush -a | ||||
applying new.patch | ||||
skipping b.patch - guarded by ['+2'] | ||||
applying c.patch | ||||
skipping d.patch - guarded by ['+2'] | ||||
now at: c.patch | ||||
$ qappunappv | ||||
% hg qapplied | ||||
new.patch | ||||
c.patch | ||||
% hg qapplied -v | ||||
0 A new.patch | ||||
1 G b.patch | ||||
2 A c.patch | ||||
% hg qunapplied | ||||
% hg qunapplied -v | ||||
3 G d.patch | ||||
$ hg qselect 2 | ||||
number of unguarded, unapplied patches has changed from 0 to 1 | ||||
number of guarded, applied patches has changed from 1 to 0 | ||||
$ qappunappv | ||||
% hg qapplied | ||||
new.patch | ||||
c.patch | ||||
% hg qapplied -v | ||||
0 A new.patch | ||||
1 U b.patch | ||||
2 A c.patch | ||||
% hg qunapplied | ||||
d.patch | ||||
% hg qunapplied -v | ||||
3 U d.patch | ||||
$ for patch in `hg qseries`; do | ||||
> echo % hg qapplied $patch | ||||
> hg qapplied $patch | ||||
> echo % hg qunapplied $patch | ||||
> hg qunapplied $patch | ||||
> done | ||||
% hg qapplied new.patch | ||||
new.patch | ||||
% hg qunapplied new.patch | ||||
b.patch | ||||
d.patch | ||||
% hg qapplied b.patch | ||||
new.patch | ||||
% hg qunapplied b.patch | ||||
d.patch | ||||
% hg qapplied c.patch | ||||
new.patch | ||||
c.patch | ||||
% hg qunapplied c.patch | ||||
d.patch | ||||
% hg qapplied d.patch | ||||
new.patch | ||||
c.patch | ||||
% hg qunapplied d.patch | ||||
hg qseries -m: only b.patch should be shown | ||||
the guards file was not ignored in the past | ||||
$ hg qdelete -k b.patch | ||||
$ hg qseries -m | ||||
b.patch | ||||
hg qseries -m with color | ||||
$ hg --config extensions.color= qseries -m --color=always | ||||
[0;31;1mb.patch[0m | ||||