tests/test-mq-guards
author Thomas Arendsen Hein <thomas@intevation.de>
Fri, 09 Mar 2007 18:09:02 +0100
changeset 4167 4574a8cb080f
parent 4133 a9ee6c53af8d
child 4240 943f40b4da30
permissions -rwxr-xr-x
Store empty (default) branch in branch cache, too. Operations on this branch don't work otherwise. Reading branches.cache had to be adjusted to allow an empty label. Adjusted reading of the cache tip for symmetry, no functional change here.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2810
2e4ace008c94 mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
     1
#!/bin/sh
2e4ace008c94 mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
     2
2976
61fcd9fac434 Make tests append settings to $HGRCPATH instead of $HGTMP/.hgrc
Thomas Arendsen Hein <thomas@intevation.de>
parents: 2838
diff changeset
     3
echo "[extensions]" >> $HGRCPATH
61fcd9fac434 Make tests append settings to $HGRCPATH instead of $HGTMP/.hgrc
Thomas Arendsen Hein <thomas@intevation.de>
parents: 2838
diff changeset
     4
echo "mq=" >> $HGRCPATH
2810
2e4ace008c94 mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
     5
2e4ace008c94 mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
     6
hg init
2e4ace008c94 mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
     7
hg qinit
2e4ace008c94 mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
     8
2e4ace008c94 mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
     9
echo x > x
2e4ace008c94 mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    10
hg ci -Ama
2e4ace008c94 mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    11
2e4ace008c94 mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    12
hg qnew a.patch
2e4ace008c94 mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    13
echo a > a
2e4ace008c94 mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    14
hg add a
2e4ace008c94 mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    15
hg qrefresh
2e4ace008c94 mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    16
2e4ace008c94 mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    17
hg qnew b.patch
2e4ace008c94 mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    18
echo b > b
2e4ace008c94 mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    19
hg add b
2e4ace008c94 mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    20
hg qrefresh
2e4ace008c94 mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    21
2e4ace008c94 mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    22
hg qnew c.patch
2e4ace008c94 mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    23
echo c > c
2e4ace008c94 mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    24
hg add c
2e4ace008c94 mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    25
hg qrefresh
2e4ace008c94 mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    26
2e4ace008c94 mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    27
hg qpop -a
2e4ace008c94 mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    28
2e4ace008c94 mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    29
echo % should fail
4133
a9ee6c53af8d mq: abort cleanly when invalid patch name is given to qguard
Christian Ebert <blacktrash@gmx.net>
parents: 3763
diff changeset
    30
hg qguard does-not-exist.patch +bleh
a9ee6c53af8d mq: abort cleanly when invalid patch name is given to qguard
Christian Ebert <blacktrash@gmx.net>
parents: 3763
diff changeset
    31
a9ee6c53af8d mq: abort cleanly when invalid patch name is given to qguard
Christian Ebert <blacktrash@gmx.net>
parents: 3763
diff changeset
    32
echo % should fail
2810
2e4ace008c94 mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    33
hg qguard +fail
2e4ace008c94 mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    34
2e4ace008c94 mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    35
hg qpush
2e4ace008c94 mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    36
echo % should guard a.patch
2e4ace008c94 mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    37
hg qguard +a
2e4ace008c94 mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    38
echo % should print +a
2e4ace008c94 mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    39
hg qguard
2e4ace008c94 mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    40
hg qpop
2e4ace008c94 mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    41
2e4ace008c94 mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    42
hg qguard a.patch
2e4ace008c94 mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    43
echo % should push b.patch
2e4ace008c94 mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    44
hg qpush
2e4ace008c94 mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    45
2e4ace008c94 mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    46
hg qpop
2e4ace008c94 mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    47
hg qselect a
2e4ace008c94 mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    48
echo % should push a.patch
2e4ace008c94 mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    49
hg qpush
2e4ace008c94 mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    50
2e4ace008c94 mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    51
hg qguard c.patch -a
2e4ace008c94 mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    52
echo % should print -a
2e4ace008c94 mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    53
hg qguard c.patch
2e4ace008c94 mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    54
2e4ace008c94 mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    55
echo % should skip c.patch
2e4ace008c94 mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    56
hg qpush -a
2e4ace008c94 mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    57
2e4ace008c94 mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    58
hg qguard -n c.patch
2e4ace008c94 mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    59
echo % should push c.patch
2e4ace008c94 mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    60
hg qpush -a
2e4ace008c94 mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    61
2e4ace008c94 mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    62
hg qpop -a
2e4ace008c94 mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    63
hg qselect -n
2818
05316bb57d01 mq: make guards more strict, add tests
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2810
diff changeset
    64
echo % should push all
2810
2e4ace008c94 mq: new commands qselect, qguard
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    65
hg qpush -a
2818
05316bb57d01 mq: make guards more strict, add tests
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2810
diff changeset
    66
05316bb57d01 mq: make guards more strict, add tests
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2810
diff changeset
    67
hg qpop -a
2838
851b07ec450c mq: apply patch is any posative guard matches
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2832
diff changeset
    68
hg qguard a.patch +1
851b07ec450c mq: apply patch is any posative guard matches
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2832
diff changeset
    69
hg qguard b.patch +2
2818
05316bb57d01 mq: make guards more strict, add tests
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2810
diff changeset
    70
hg qselect 1
2838
851b07ec450c mq: apply patch is any posative guard matches
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2832
diff changeset
    71
echo % should push a.patch, not b.patch
851b07ec450c mq: apply patch is any posative guard matches
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2832
diff changeset
    72
hg qpush
851b07ec450c mq: apply patch is any posative guard matches
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2832
diff changeset
    73
hg qpush
851b07ec450c mq: apply patch is any posative guard matches
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2832
diff changeset
    74
hg qpop -a
851b07ec450c mq: apply patch is any posative guard matches
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2832
diff changeset
    75
851b07ec450c mq: apply patch is any posative guard matches
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2832
diff changeset
    76
hg qselect 2
2818
05316bb57d01 mq: make guards more strict, add tests
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2810
diff changeset
    77
echo % should push b.patch
05316bb57d01 mq: make guards more strict, add tests
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2810
diff changeset
    78
hg qpush
05316bb57d01 mq: make guards more strict, add tests
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2810
diff changeset
    79
hg qpop -a
05316bb57d01 mq: make guards more strict, add tests
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2810
diff changeset
    80
2838
851b07ec450c mq: apply patch is any posative guard matches
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2832
diff changeset
    81
hg qselect 1 2
851b07ec450c mq: apply patch is any posative guard matches
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2832
diff changeset
    82
echo % should push a.patch, b.patch
2818
05316bb57d01 mq: make guards more strict, add tests
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2810
diff changeset
    83
hg qpush
05316bb57d01 mq: make guards more strict, add tests
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2810
diff changeset
    84
hg qpush
05316bb57d01 mq: make guards more strict, add tests
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2810
diff changeset
    85
hg qpop -a
05316bb57d01 mq: make guards more strict, add tests
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2810
diff changeset
    86
05316bb57d01 mq: make guards more strict, add tests
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2810
diff changeset
    87
hg qguard a.patch +1 +2 -3
05316bb57d01 mq: make guards more strict, add tests
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2810
diff changeset
    88
hg qselect 1 2 3
2838
851b07ec450c mq: apply patch is any posative guard matches
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2832
diff changeset
    89
echo % list patches and guards
851b07ec450c mq: apply patch is any posative guard matches
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2832
diff changeset
    90
hg qguard -l
851b07ec450c mq: apply patch is any posative guard matches
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2832
diff changeset
    91
echo % list series
851b07ec450c mq: apply patch is any posative guard matches
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2832
diff changeset
    92
hg qseries -v
851b07ec450c mq: apply patch is any posative guard matches
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2832
diff changeset
    93
echo % list guards
851b07ec450c mq: apply patch is any posative guard matches
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2832
diff changeset
    94
hg qselect
2818
05316bb57d01 mq: make guards more strict, add tests
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2810
diff changeset
    95
echo % should push b.patch
05316bb57d01 mq: make guards more strict, add tests
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2810
diff changeset
    96
hg qpush
2832
582cbc4392cb qselect: add --pop, --reapply options
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2818
diff changeset
    97
582cbc4392cb qselect: add --pop, --reapply options
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2818
diff changeset
    98
hg qpush -a
582cbc4392cb qselect: add --pop, --reapply options
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2818
diff changeset
    99
hg qselect -n --reapply
2838
851b07ec450c mq: apply patch is any posative guard matches
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2832
diff changeset
   100
echo % guards in series file: +1 +2 -3
851b07ec450c mq: apply patch is any posative guard matches
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2832
diff changeset
   101
hg qselect -s
851b07ec450c mq: apply patch is any posative guard matches
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2832
diff changeset
   102
echo % should show c.patch
851b07ec450c mq: apply patch is any posative guard matches
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2832
diff changeset
   103
hg qapplied
3685
193e9c6d1a6d Issue424: mq patch loses guard when qrenamed
Mathieu Clabaut <mathieu.clabaut@gmail.com>
parents: 2976
diff changeset
   104
193e9c6d1a6d Issue424: mq patch loses guard when qrenamed
Mathieu Clabaut <mathieu.clabaut@gmail.com>
parents: 2976
diff changeset
   105
hg qrename a.patch new.patch
193e9c6d1a6d Issue424: mq patch loses guard when qrenamed
Mathieu Clabaut <mathieu.clabaut@gmail.com>
parents: 2976
diff changeset
   106
echo % should show :
193e9c6d1a6d Issue424: mq patch loses guard when qrenamed
Mathieu Clabaut <mathieu.clabaut@gmail.com>
parents: 2976
diff changeset
   107
echo % new.patch: +1 +2 -3
193e9c6d1a6d Issue424: mq patch loses guard when qrenamed
Mathieu Clabaut <mathieu.clabaut@gmail.com>
parents: 2976
diff changeset
   108
echo % b.patch: +2
193e9c6d1a6d Issue424: mq patch loses guard when qrenamed
Mathieu Clabaut <mathieu.clabaut@gmail.com>
parents: 2976
diff changeset
   109
echo % c.patch: unguarded
193e9c6d1a6d Issue424: mq patch loses guard when qrenamed
Mathieu Clabaut <mathieu.clabaut@gmail.com>
parents: 2976
diff changeset
   110
hg qguard -l
193e9c6d1a6d Issue424: mq patch loses guard when qrenamed
Mathieu Clabaut <mathieu.clabaut@gmail.com>
parents: 2976
diff changeset
   111
3763
955475d237fc fix qseries -v and guards interaction
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3685
diff changeset
   112
hg qnew d.patch
955475d237fc fix qseries -v and guards interaction
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3685
diff changeset
   113
hg qpop
955475d237fc fix qseries -v and guards interaction
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3685
diff changeset
   114
echo % should show new.patch and b.patch as Guarded, c.patch as Applied
955475d237fc fix qseries -v and guards interaction
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3685
diff changeset
   115
echo % and d.patch as Unapplied
955475d237fc fix qseries -v and guards interaction
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3685
diff changeset
   116
hg qseries -v
3685
193e9c6d1a6d Issue424: mq patch loses guard when qrenamed
Mathieu Clabaut <mathieu.clabaut@gmail.com>
parents: 2976
diff changeset
   117
3763
955475d237fc fix qseries -v and guards interaction
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3685
diff changeset
   118
hg qguard d.patch +2
955475d237fc fix qseries -v and guards interaction
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3685
diff changeset
   119
echo % new.patch, b.patch: Guarded. c.patch: Applied. d.patch: Guarded.
955475d237fc fix qseries -v and guards interaction
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3685
diff changeset
   120
hg qseries -v