tests/test-mq-safety.t
author Martin Geisler <mg@lazybytes.net>
Sun, 29 Aug 2010 23:56:19 +0200
changeset 12077 ff6f5310ad92
parent 11898 7dc8b9e25f19
child 12108 a57e0762c5ec
permissions -rw-r--r--
util: add optional path auditor argument to canonpath The canonpath function will default to creating its own path auditor, but in some cases it will be useful to use a specialized auditor, e.g., one that wont abort if a path lies within a subrepository.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
11898
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
     1
  $ echo '[extensions]' >> $HGRCPATH
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
     2
  $ echo 'mq =' >> $HGRCPATH
5980
dcda0c90125c mq: pop/refresh: avoid losing revisions not managed by mq
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
     3
11898
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
     4
  $ hg init repo
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
     5
  $ cd repo
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
     6
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
     7
  $ echo foo > foo
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
     8
  $ hg ci -qAm 'add a file'
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
     9
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    10
  $ hg qinit
5980
dcda0c90125c mq: pop/refresh: avoid losing revisions not managed by mq
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    11
11898
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    12
  $ hg qnew foo
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    13
  $ echo foo >> foo
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    14
  $ hg qrefresh -m 'append foo'
5980
dcda0c90125c mq: pop/refresh: avoid losing revisions not managed by mq
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    15
11898
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    16
  $ hg qnew bar
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    17
  $ echo bar >> foo
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    18
  $ hg qrefresh -m 'append bar'
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    19
5980
dcda0c90125c mq: pop/refresh: avoid losing revisions not managed by mq
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    20
11898
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    21
try to commit on top of a patch
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    22
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    23
  $ echo quux >> foo
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    24
  $ hg ci -m 'append quux'
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    25
  abort: cannot commit over an applied mq patch
5980
dcda0c90125c mq: pop/refresh: avoid losing revisions not managed by mq
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    26
11898
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    27
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    28
cheat a bit...
5980
dcda0c90125c mq: pop/refresh: avoid losing revisions not managed by mq
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    29
11898
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    30
  $ mv .hg/patches .hg/patches2
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    31
  $ hg ci -m 'append quux'
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    32
  $ mv .hg/patches2 .hg/patches
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    33
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    34
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    35
qpop/qrefresh on the wrong revision
5980
dcda0c90125c mq: pop/refresh: avoid losing revisions not managed by mq
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    36
11898
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    37
  $ hg qpop
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    38
  abort: popping would remove a revision not managed by this patch queue
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    39
  $ hg qpop -n patches 2>&1 | sed -e 's/\(using patch queue:\).*/\1/'
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    40
  using patch queue:
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    41
  abort: popping would remove a revision not managed by this patch queue
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    42
  $ hg qrefresh
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    43
  abort: working directory revision is not qtip
5980
dcda0c90125c mq: pop/refresh: avoid losing revisions not managed by mq
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    44
11898
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    45
  $ hg up -C qtip
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    46
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    47
  $ hg qpop
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    48
  abort: popping would remove a revision not managed by this patch queue
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    49
  $ hg qrefresh
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    50
  abort: cannot refresh a revision with children
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    51
  $ hg tip --template '{rev} {desc}\n'
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    52
  3 append quux
5980
dcda0c90125c mq: pop/refresh: avoid losing revisions not managed by mq
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    53
dcda0c90125c mq: pop/refresh: avoid losing revisions not managed by mq
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    54
11898
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    55
qpush warning branchheads
10362
2e3ec7ef5349 mq: don't warn on qpush against a branch head
Dirkjan Ochtman <djc.ochtman@kentyde.com>
parents: 10119
diff changeset
    56
11898
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    57
  $ cd ..
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    58
  $ hg init branchy
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    59
  $ cd branchy
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    60
  $ echo q > q
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    61
  $ hg add q
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    62
  $ hg qnew -f qp
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    63
  $ hg qpop
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    64
  popping qp
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    65
  patch queue now empty
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    66
  $ echo a > a
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    67
  $ hg ci -Ama
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    68
  adding a
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    69
  $ hg up null
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    70
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    71
  $ hg branch b
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    72
  marked working directory as branch b
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    73
  $ echo c > c
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    74
  $ hg ci -Amc
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    75
  adding c
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    76
  $ hg merge default
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    77
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    78
  (branch merge, don't forget to commit)
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    79
  $ hg ci -mmerge
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    80
  $ hg up default
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    81
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    82
  $ hg log
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    83
  changeset:   2:65309210bf4e
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    84
  branch:      b
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    85
  tag:         tip
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    86
  parent:      1:707adb4c8ae1
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    87
  parent:      0:cb9a9f314b8b
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    88
  user:        test
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    89
  date:        Thu Jan 01 00:00:00 1970 +0000
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    90
  summary:     merge
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    91
  
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    92
  changeset:   1:707adb4c8ae1
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    93
  branch:      b
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    94
  parent:      -1:000000000000
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    95
  user:        test
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    96
  date:        Thu Jan 01 00:00:00 1970 +0000
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    97
  summary:     c
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    98
  
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    99
  changeset:   0:cb9a9f314b8b
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
   100
  user:        test
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
   101
  date:        Thu Jan 01 00:00:00 1970 +0000
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
   102
  summary:     a
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
   103
  
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
   104
  $ hg qpush
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
   105
  applying qp
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
   106
  now at: qp