tests/test-mq-qqueue.t
changeset 12324 b701610f6c56
parent 11967 6e3875a80533
child 17708 4f2f0f367ef6
equal deleted inserted replaced
12318:d643ae555a4d 12324:b701610f6c56
       
     1   $ echo "[extensions]" >> $HGRCPATH
       
     2   $ echo "mq=" >> $HGRCPATH
       
     3 
       
     4   $ hg init foo
       
     5   $ cd foo
       
     6   $ echo a > a
       
     7   $ hg ci -qAm a
       
     8 
       
     9 Default queue:
       
    10 
       
    11   $ hg qqueue
       
    12   patches (active)
       
    13 
       
    14   $ echo b > a
       
    15   $ hg qnew -fgDU somestuff
       
    16 
       
    17 Applied patches in default queue:
       
    18 
       
    19   $ hg qap
       
    20   somestuff
       
    21 
       
    22 Try to change patch (create succeeds, switch fails):
       
    23 
       
    24   $ hg qqueue foo --create
       
    25   abort: patches applied - cannot set new queue active
       
    26   [255]
       
    27 
       
    28   $ hg qqueue
       
    29   foo
       
    30   patches (active)
       
    31 
       
    32 Empty default queue:
       
    33 
       
    34   $ hg qpop
       
    35   popping somestuff
       
    36   patch queue now empty
       
    37 
       
    38 Switch queue:
       
    39 
       
    40   $ hg qqueue foo
       
    41   $ hg qqueue
       
    42   foo (active)
       
    43   patches
       
    44 
       
    45 List queues, quiet:
       
    46 
       
    47   $ hg qqueue --quiet
       
    48   foo
       
    49   patches
       
    50 
       
    51 Fail creating queue with already existing name:
       
    52 
       
    53   $ hg qqueue --create foo
       
    54   abort: queue "foo" already exists
       
    55   [255]
       
    56 
       
    57   $ hg qqueue
       
    58   foo (active)
       
    59   patches
       
    60 
       
    61 Create new queue for rename:
       
    62 
       
    63   $ hg qqueue --create bar
       
    64 
       
    65   $ hg qqueue
       
    66   bar (active)
       
    67   foo
       
    68   patches
       
    69 
       
    70 Rename queue, same name:
       
    71 
       
    72   $ hg qqueue --rename bar
       
    73   abort: can't rename "bar" to its current name
       
    74   [255]
       
    75 
       
    76 Rename queue to existing:
       
    77 
       
    78   $ hg qqueue --rename foo
       
    79   abort: queue "foo" already exists
       
    80   [255]
       
    81 
       
    82 Rename queue:
       
    83 
       
    84   $ hg qqueue --rename buz
       
    85 
       
    86   $ hg qqueue
       
    87   buz (active)
       
    88   foo
       
    89   patches
       
    90 
       
    91 Switch back to previous queue:
       
    92 
       
    93   $ hg qqueue foo
       
    94   $ hg qqueue --delete buz
       
    95 
       
    96   $ hg qqueue
       
    97   foo (active)
       
    98   patches
       
    99 
       
   100 Create queue for purge:
       
   101 
       
   102   $ hg qqueue --create purge-me
       
   103 
       
   104   $ hg qqueue
       
   105   foo
       
   106   patches
       
   107   purge-me (active)
       
   108 
       
   109 Create patch for purge:
       
   110 
       
   111   $ hg qnew patch-purge-me
       
   112 
       
   113   $ ls -1d .hg/patches-purge-me 2>/dev/null || true
       
   114   .hg/patches-purge-me
       
   115 
       
   116   $ hg qpop -a
       
   117   popping patch-purge-me
       
   118   patch queue now empty
       
   119 
       
   120 Purge queue:
       
   121 
       
   122   $ hg qqueue foo
       
   123   $ hg qqueue --purge purge-me
       
   124 
       
   125   $ hg qqueue
       
   126   foo (active)
       
   127   patches
       
   128 
       
   129   $ ls -1d .hg/patches-purge-me 2>/dev/null || true
       
   130 
       
   131 Unapplied patches:
       
   132 
       
   133   $ hg qun
       
   134   $ echo c > a
       
   135   $ hg qnew -fgDU otherstuff
       
   136 
       
   137 Fail switching back:
       
   138 
       
   139   $ hg qqueue patches
       
   140   abort: patches applied - cannot set new queue active
       
   141   [255]
       
   142 
       
   143 Fail deleting current:
       
   144 
       
   145   $ hg qqueue foo --delete
       
   146   abort: cannot delete currently active queue
       
   147   [255]
       
   148 
       
   149 Switch back and delete foo:
       
   150 
       
   151   $ hg qpop -a
       
   152   popping otherstuff
       
   153   patch queue now empty
       
   154 
       
   155   $ hg qqueue patches
       
   156   $ hg qqueue foo --delete
       
   157   $ hg qqueue
       
   158   patches (active)
       
   159 
       
   160 Tricky cases:
       
   161 
       
   162   $ hg qqueue store --create
       
   163   $ hg qnew journal
       
   164 
       
   165   $ hg qqueue
       
   166   patches
       
   167   store (active)
       
   168 
       
   169   $ hg qpop -a
       
   170   popping journal
       
   171   patch queue now empty
       
   172 
       
   173   $ hg qqueue patches
       
   174   $ hg qun
       
   175   somestuff
       
   176 
       
   177 Invalid names:
       
   178 
       
   179   $ hg qqueue test/../../bar --create
       
   180   abort: invalid queue name, may not contain the characters ":\/."
       
   181   [255]
       
   182 
       
   183   $ hg qqueue . --create
       
   184   abort: invalid queue name, may not contain the characters ":\/."
       
   185   [255]
       
   186 
       
   187   $ cd ..
       
   188