tests/test-mq-safety.t
author Patrick Mezard <patrick@mezard.eu>
Sat, 28 Apr 2012 15:01:57 +0200
branchstable
changeset 16536 63c817ea4a70
parent 16048 140b6282ac79
child 16913 f2719b387380
permissions -rw-r--r--
commit: abort on merge with missing files Here is a script illustrating the previous behaviour: The merge brings a new file 'b' from remote $ hg merge 1 --debug searching for copies back to rev 1 unmatched files in other: b resolving manifests overwrite: False, partial: False ancestor: 07f494440405, local: 540395c44225+, remote: 102a90ea7b4a b: remote created -> g updating: b 1/1 files (100.00%) getting b 1 files updated, 0 files merged, 0 files removed, 0 files unresolved (branch merge, don't forget to commit) Delete but do not remove b $ rm b $ hg st ! b The commit succeeds $ hg commit -m merge $ hg parents --template "{rev} {desc|firstline} files: {files}\n" 3 merge files: $ hg st ! b b changes were ignored, but even b existence was ignored $ hg manifest a This happens because localrepo.commitctx() checks the input ctx.files(), which is empty for workingctx.files() only returns added, modified or removed entries, and bypass files/manifest updates completely. So the committed revision manifest is the same as its first parent one, not containing the 'b' file. This patch forces the commit to abort in presence of a merge and missing files. test-merge4.t is modified accordingly as it was introduced to check hg was not just terminating with a traceback (5e9e8b8d2629).
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
16048
140b6282ac79 mq: prevent rewriting operation on public changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 16023
diff changeset
     2
  $ echo 'hgext.mq =' >> $HGRCPATH
140b6282ac79 mq: prevent rewriting operation on public changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 16023
diff changeset
     3
  $ echo 'hgext.graphlog =' >> $HGRCPATH
5980
dcda0c90125c mq: pop/refresh: avoid losing revisions not managed by mq
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
     4
11898
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
     5
  $ hg init repo
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
     6
  $ cd repo
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
     7
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
     8
  $ echo foo > foo
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
     9
  $ hg ci -qAm 'add a file'
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    10
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    11
  $ 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
    12
11898
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    13
  $ hg qnew foo
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    14
  $ echo foo >> foo
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    15
  $ 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
    16
11898
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    17
  $ hg qnew bar
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    18
  $ echo bar >> foo
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    19
  $ hg qrefresh -m 'append bar'
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    20
16048
140b6282ac79 mq: prevent rewriting operation on public changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 16023
diff changeset
    21
Try to operate on public mq changeset
140b6282ac79 mq: prevent rewriting operation on public changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 16023
diff changeset
    22
140b6282ac79 mq: prevent rewriting operation on public changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 16023
diff changeset
    23
  $ hg qpop
140b6282ac79 mq: prevent rewriting operation on public changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 16023
diff changeset
    24
  popping bar
140b6282ac79 mq: prevent rewriting operation on public changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 16023
diff changeset
    25
  now at: foo
140b6282ac79 mq: prevent rewriting operation on public changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 16023
diff changeset
    26
  $ hg phase --public qbase
140b6282ac79 mq: prevent rewriting operation on public changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 16023
diff changeset
    27
  $ echo babar >> foo
140b6282ac79 mq: prevent rewriting operation on public changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 16023
diff changeset
    28
  $ hg qref
140b6282ac79 mq: prevent rewriting operation on public changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 16023
diff changeset
    29
  abort: cannot refresh immutable revision
140b6282ac79 mq: prevent rewriting operation on public changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 16023
diff changeset
    30
  (see "hg help phases" for details)
140b6282ac79 mq: prevent rewriting operation on public changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 16023
diff changeset
    31
  [255]
140b6282ac79 mq: prevent rewriting operation on public changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 16023
diff changeset
    32
  $ hg revert -a
140b6282ac79 mq: prevent rewriting operation on public changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 16023
diff changeset
    33
  reverting foo
140b6282ac79 mq: prevent rewriting operation on public changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 16023
diff changeset
    34
  $ hg qpop
140b6282ac79 mq: prevent rewriting operation on public changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 16023
diff changeset
    35
  abort: popping would remove an immutable revision
140b6282ac79 mq: prevent rewriting operation on public changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 16023
diff changeset
    36
  (see "hg help phases" for details)
140b6282ac79 mq: prevent rewriting operation on public changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 16023
diff changeset
    37
  [255]
140b6282ac79 mq: prevent rewriting operation on public changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 16023
diff changeset
    38
  $ hg qfold bar
140b6282ac79 mq: prevent rewriting operation on public changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 16023
diff changeset
    39
  abort: cannot refresh immutable revision
140b6282ac79 mq: prevent rewriting operation on public changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 16023
diff changeset
    40
  (see "hg help phases" for details)
140b6282ac79 mq: prevent rewriting operation on public changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 16023
diff changeset
    41
  [255]
140b6282ac79 mq: prevent rewriting operation on public changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 16023
diff changeset
    42
  $ hg revert -a
140b6282ac79 mq: prevent rewriting operation on public changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 16023
diff changeset
    43
  reverting foo
140b6282ac79 mq: prevent rewriting operation on public changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 16023
diff changeset
    44
140b6282ac79 mq: prevent rewriting operation on public changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 16023
diff changeset
    45
restore state for remaining test
140b6282ac79 mq: prevent rewriting operation on public changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 16023
diff changeset
    46
140b6282ac79 mq: prevent rewriting operation on public changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 16023
diff changeset
    47
  $ hg qpush
140b6282ac79 mq: prevent rewriting operation on public changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 16023
diff changeset
    48
  applying bar
140b6282ac79 mq: prevent rewriting operation on public changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 16023
diff changeset
    49
  now at: bar
5980
dcda0c90125c mq: pop/refresh: avoid losing revisions not managed by mq
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    50
11898
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    51
try to commit on top of a patch
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    52
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    53
  $ echo quux >> foo
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    54
  $ hg ci -m 'append quux'
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    55
  abort: cannot commit over an applied mq patch
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12108
diff changeset
    56
  [255]
5980
dcda0c90125c mq: pop/refresh: avoid losing revisions not managed by mq
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    57
11898
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    58
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    59
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
    60
11898
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    61
  $ mv .hg/patches .hg/patches2
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    62
  $ hg ci -m 'append quux'
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    63
  $ mv .hg/patches2 .hg/patches
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    64
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    65
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    66
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
    67
11898
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    68
  $ hg qpop
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    69
  abort: popping would remove a revision not managed by this patch queue
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12108
diff changeset
    70
  [255]
12108
a57e0762c5ec tests: mq-safety: use regular expression instead of sed
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11898
diff changeset
    71
  $ hg qpop -n patches
15447
9910f60a37ee tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents: 12847
diff changeset
    72
  using patch queue: $TESTTMP/repo/.hg/patches (glob)
11898
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    73
  abort: popping would remove a revision not managed by this patch queue
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12108
diff changeset
    74
  [255]
11898
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    75
  $ hg qrefresh
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    76
  abort: working directory revision is not qtip
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12108
diff changeset
    77
  [255]
5980
dcda0c90125c mq: pop/refresh: avoid losing revisions not managed by mq
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    78
11898
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    79
  $ hg up -C qtip
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    80
  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
    81
  $ hg qpop
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    82
  abort: popping would remove a revision not managed by this patch queue
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12108
diff changeset
    83
  [255]
11898
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    84
  $ hg qrefresh
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    85
  abort: cannot refresh a revision with children
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12108
diff changeset
    86
  [255]
11898
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    87
  $ hg tip --template '{rev} {desc}\n'
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    88
  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
    89
dcda0c90125c mq: pop/refresh: avoid losing revisions not managed by mq
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    90
11898
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    91
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
    92
11898
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    93
  $ cd ..
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    94
  $ hg init branchy
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    95
  $ cd branchy
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    96
  $ echo q > q
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    97
  $ hg add q
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    98
  $ hg qnew -f qp
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
    99
  $ hg qpop
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
   100
  popping qp
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
   101
  patch queue now empty
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
   102
  $ echo a > a
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
   103
  $ hg ci -Ama
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
   104
  adding a
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
   105
  $ hg up null
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
   106
  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
   107
  $ hg branch b
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
   108
  marked working directory as branch b
15615
41885892796e branch: warn on branching
Matt Mackall <mpm@selenic.com>
parents: 12847
diff changeset
   109
  (branches are permanent and global, did you want a bookmark?)
11898
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
   110
  $ echo c > c
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
   111
  $ hg ci -Amc
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
   112
  adding c
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
   113
  $ hg merge default
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
   114
  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
   115
  (branch merge, don't forget to commit)
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
   116
  $ hg ci -mmerge
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
   117
  $ hg up default
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
   118
  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
   119
  $ hg log
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
   120
  changeset:   2:65309210bf4e
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
   121
  branch:      b
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
   122
  tag:         tip
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
   123
  parent:      1:707adb4c8ae1
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
   124
  parent:      0:cb9a9f314b8b
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
   125
  user:        test
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
   126
  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
   127
  summary:     merge
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
   128
  
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
   129
  changeset:   1:707adb4c8ae1
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
   130
  branch:      b
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
   131
  parent:      -1:000000000000
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
   132
  user:        test
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
   133
  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
   134
  summary:     c
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
   135
  
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
   136
  changeset:   0:cb9a9f314b8b
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
   137
  user:        test
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
   138
  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
   139
  summary:     a
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
   140
  
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
   141
  $ hg qpush
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
   142
  applying qp
7dc8b9e25f19 tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10362
diff changeset
   143
  now at: qp
12380
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
   144
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
   145
Testing applied patches, push and --force
12378
ab237534d800 mq: always require --force when pushing patches (issue2363)
Patrick Mezard <pmezard@gmail.com>
parents: 10362
diff changeset
   146
12380
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
   147
  $ cd ..
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
   148
  $ hg init forcepush
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
   149
  $ cd forcepush
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
   150
  $ echo a > a
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
   151
  $ hg ci -Am adda
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
   152
  adding a
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
   153
  $ echo a >> a
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
   154
  $ hg ci -m changea
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
   155
  $ hg up 0
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
   156
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
   157
  $ hg branch branch
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
   158
  marked working directory as branch branch
15615
41885892796e branch: warn on branching
Matt Mackall <mpm@selenic.com>
parents: 12847
diff changeset
   159
  (branches are permanent and global, did you want a bookmark?)
12380
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
   160
  $ echo b > b
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
   161
  $ hg ci -Am addb
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
   162
  adding b
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
   163
  $ hg up 0
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
   164
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
   165
  $ hg --cwd .. clone -r 0 forcepush forcepush2
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
   166
  adding changesets
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
   167
  adding manifests
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
   168
  adding file changes
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
   169
  added 1 changesets with 1 changes to 1 files
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
   170
  updating to branch default
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
   171
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
   172
  $ echo a >> a
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
   173
  $ hg qnew patch
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
   174
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
   175
Pushing applied patch with --rev without --force
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
   176
15952
ec8a9e06cf05 mq-safety: don't apply safety on non-outgoing changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15951
diff changeset
   177
  $ hg push -r . ../forcepush2
12380
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
   178
  pushing to ../forcepush2
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
   179
  abort: source has mq patches applied
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
   180
  [255]
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
   181
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
   182
Pushing applied patch with branchhash, without --force
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
   183
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
   184
  $ hg push ../forcepush2#default
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
   185
  pushing to ../forcepush2
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
   186
  abort: source has mq patches applied
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
   187
  [255]
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
   188
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
   189
Pushing revs excluding applied patch
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
   190
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
   191
  $ hg push --new-branch -r branch -r 2 ../forcepush2
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
   192
  pushing to ../forcepush2
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
   193
  searching for changes
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
   194
  adding changesets
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
   195
  adding manifests
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
   196
  adding file changes
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
   197
  added 1 changesets with 1 changes to 1 files
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
   198
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
   199
Pushing applied patch with --force
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
   200
15952
ec8a9e06cf05 mq-safety: don't apply safety on non-outgoing changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15951
diff changeset
   201
  $ hg phase --force --secret 'mq()'
12380
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
   202
  $ hg push --force -r default ../forcepush2
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
   203
  pushing to ../forcepush2
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
   204
  searching for changes
15993
0b05e0bfdc1c scmutil: unify some 'no changes found' messages
Matt Mackall <mpm@selenic.com>
parents: 15952
diff changeset
   205
  no changes found (ignored 1 secret changesets)
16023
90f8b8dd0326 push: return 1 if no changes found (issue3228)
Matt Mackall <mpm@selenic.com>
parents: 16017
diff changeset
   206
  [1]
15952
ec8a9e06cf05 mq-safety: don't apply safety on non-outgoing changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15951
diff changeset
   207
  $ hg phase --draft 'mq()'
15926
f94513971767 mq: have mq create secret changeset only
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15623
diff changeset
   208
  $ hg push --force -r default ../forcepush2
f94513971767 mq: have mq create secret changeset only
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15623
diff changeset
   209
  pushing to ../forcepush2
f94513971767 mq: have mq create secret changeset only
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 15623
diff changeset
   210
  searching for changes
12380
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
   211
  adding changesets
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
   212
  adding manifests
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
   213
  adding file changes
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
   214
  added 1 changesets with 1 changes to 1 files (+1 heads)