tests/test-merge-local.t
author Gregory Szorc <gregory.szorc@gmail.com>
Tue, 28 Aug 2018 15:02:48 -0700
changeset 39411 aeb551a3bb8a
parent 34146 9e4f82bc2b0b
child 49621 55c6ebd11cb9
permissions -rw-r--r--
cborutil: implement sans I/O decoder The vendored CBOR package decodes by calling read(n) on an object. There are a number of disadvantages to this: * Uses blocking I/O. If sufficient data is not available, the decoder will hang until it is. * No support for partial reads. If the read(n) returns less data than requested, the decoder raises an error. * Requires the use of a file like object. If the original data is in say a buffer, we need to "cast" it to e.g. a BytesIO to appease the decoder. In addition, the vendored CBOR decoder doesn't provide flexibility that we desire. Specifically: * It buffers indefinite length bytestrings instead of streaming them. * It doesn't allow limiting the set of types that can be decoded. This property is useful when implementing a "hardened" decoder that is less susceptible to abusive input. * It doesn't provide sufficient "hook points" and introspection to institute checks around behavior. These are useful for implementing a "hardened" decoder. This all adds up to a reasonable set of justifications for writing our own decoder. So, this commit implements our own CBOR decoder. At the heart of the decoder is a function that decodes a single "item" from a buffer. This item can be a complete simple value or a special value, such as "start of array." Using this function, we can build a decoder that effectively iterates over the stream of decoded items and builds up higher-level values, such as arrays, maps, sets, and indefinite length bytestrings. And we can do this without performing I/O in the decoder itself. The core of the sans I/O decoder will probably not be used directly. Instead, it is expected that we'll build utility functions for invoking the decoder given specific input types. This will allow extreme flexibility in how data is delivered to the decoder. I'm pretty happy with the state of the decoder modulo the TODO items to track wanted features to help with a "hardened" decoder. The one thing I could be convinced to change is the handling of semantic tags. Since we only support a single semantic tag (sets), I thought it would be easier to handle them inline in decodeitem(). This is simpler now. But if we add support for other semantic tags, it will likely be easier to move semantic tag handling outside of decodeitem(). But, properly supporting semantic tags opens up a whole can of worms, as many semantic tags imply new types. I'm optimistic we won't need these in Mercurial. But who knows. I'm also pretty happy with the test coverage. Writing comprehensive tests for partial decoding did flush out a handful of bugs. One general improvement to testing would be fuzz testing for partial decoding. I may implement that later. I also anticipate switching the wire protocol code to this new decoder will flush out any lingering bugs. Differential Revision: https://phab.mercurial-scm.org/D4414
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
12258
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
     1
  $ hg init
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
     2
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
     3
Revision 0:
3869
ad6f34c83c3d Add instructions how to redo/finish failed merge with local working directory.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
     4
12258
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
     5
  $ echo "unchanged" > unchanged
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
     6
  $ echo "remove me" > remove
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
     7
  $ echo "copy me" > copy
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
     8
  $ echo "move me" > move
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
     9
  $ for i in 1 2 3 4 5 6 7 8 9; do
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    10
  >     echo "merge ok $i" >> zzz1_merge_ok
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    11
  > done
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    12
  $ echo "merge bad" > zzz2_merge_bad
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    13
  $ hg ci -Am "revision 0"
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    14
  adding copy
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    15
  adding move
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    16
  adding remove
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    17
  adding unchanged
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    18
  adding zzz1_merge_ok
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    19
  adding zzz2_merge_bad
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    20
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    21
Revision 1:
3869
ad6f34c83c3d Add instructions how to redo/finish failed merge with local working directory.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
    22
12258
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    23
  $ hg rm remove
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    24
  $ hg mv move moved
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    25
  $ hg cp copy copied
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    26
  $ echo "added" > added
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    27
  $ hg add added
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    28
  $ echo "new first line" > zzz1_merge_ok
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    29
  $ hg cat zzz1_merge_ok >> zzz1_merge_ok
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    30
  $ echo "new last line" >> zzz2_merge_bad
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    31
  $ hg ci -m "revision 1"
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    32
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    33
Local changes to revision 0:
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    34
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    35
  $ hg co 0
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    36
  4 files updated, 0 files merged, 3 files removed, 0 files unresolved
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    37
  $ echo "new last line" >> zzz1_merge_ok
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    38
  $ echo "another last line" >> zzz2_merge_bad
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    39
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    40
  $ hg diff --nodates | grep "^[+-][^<>]"
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    41
  --- a/zzz1_merge_ok
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    42
  +++ b/zzz1_merge_ok
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    43
  +new last line
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    44
  --- a/zzz2_merge_bad
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    45
  +++ b/zzz2_merge_bad
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    46
  +another last line
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    47
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    48
  $ hg st
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    49
  M zzz1_merge_ok
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    50
  M zzz2_merge_bad
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    51
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    52
Local merge with bad merge tool:
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    53
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    54
  $ HGMERGE=false hg co
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    55
  merging zzz1_merge_ok
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    56
  merging zzz2_merge_bad
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    57
  merging zzz2_merge_bad failed!
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    58
  3 files updated, 1 files merged, 2 files removed, 1 files unresolved
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    59
  use 'hg resolve' to retry unresolved file merges
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12258
diff changeset
    60
  [1]
3869
ad6f34c83c3d Add instructions how to redo/finish failed merge with local working directory.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
    61
27316
777f668eca70 merge: refuse update/merge if there are unresolved conflicts (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents: 26941
diff changeset
    62
  $ hg resolve -m
777f668eca70 merge: refuse update/merge if there are unresolved conflicts (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents: 26941
diff changeset
    63
  (no more unresolved files)
777f668eca70 merge: refuse update/merge if there are unresolved conflicts (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents: 26941
diff changeset
    64
12258
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    65
  $ hg co 0
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    66
  merging zzz1_merge_ok
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    67
  merging zzz2_merge_bad
26614
ef1eb6df7071 simplemerge: move conflict warning message to filemerge
Siddharth Agarwal <sid0@fb.com>
parents: 15501
diff changeset
    68
  warning: conflicts while merging zzz2_merge_bad! (edit, then use 'hg resolve --mark')
30229
69ffbbe73dd0 merge: avoid superfluous filemerges when grafting through renames (issue5407)
Gábor Stefanik <gabor.stefanik@nng.com>
parents: 30200
diff changeset
    69
  2 files updated, 1 files merged, 3 files removed, 1 files unresolved
12258
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    70
  use 'hg resolve' to retry unresolved file merges
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12258
diff changeset
    71
  [1]
3869
ad6f34c83c3d Add instructions how to redo/finish failed merge with local working directory.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
    72
12258
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    73
  $ hg diff --nodates | grep "^[+-][^<>]"
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    74
  --- a/zzz1_merge_ok
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    75
  +++ b/zzz1_merge_ok
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    76
  +new last line
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    77
  --- a/zzz2_merge_bad
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    78
  +++ b/zzz2_merge_bad
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    79
  +another last line
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    80
  +=======
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    81
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    82
  $ hg st
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    83
  M zzz1_merge_ok
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    84
  M zzz2_merge_bad
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    85
  ? zzz2_merge_bad.orig
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    86
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    87
Local merge with conflicts:
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    88
27316
777f668eca70 merge: refuse update/merge if there are unresolved conflicts (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents: 26941
diff changeset
    89
  $ hg resolve -m
777f668eca70 merge: refuse update/merge if there are unresolved conflicts (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents: 26941
diff changeset
    90
  (no more unresolved files)
777f668eca70 merge: refuse update/merge if there are unresolved conflicts (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents: 26941
diff changeset
    91
12258
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    92
  $ hg co
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    93
  merging zzz1_merge_ok
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    94
  merging zzz2_merge_bad
26614
ef1eb6df7071 simplemerge: move conflict warning message to filemerge
Siddharth Agarwal <sid0@fb.com>
parents: 15501
diff changeset
    95
  warning: conflicts while merging zzz2_merge_bad! (edit, then use 'hg resolve --mark')
12258
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    96
  3 files updated, 1 files merged, 2 files removed, 1 files unresolved
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    97
  use 'hg resolve' to retry unresolved file merges
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12258
diff changeset
    98
  [1]
3869
ad6f34c83c3d Add instructions how to redo/finish failed merge with local working directory.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
    99
27316
777f668eca70 merge: refuse update/merge if there are unresolved conflicts (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents: 26941
diff changeset
   100
  $ hg resolve -m
777f668eca70 merge: refuse update/merge if there are unresolved conflicts (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents: 26941
diff changeset
   101
  (no more unresolved files)
777f668eca70 merge: refuse update/merge if there are unresolved conflicts (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents: 26941
diff changeset
   102
26941
454deda24315 filemerge: choose where .orig files are kept
Christian Delahousse <cdelahousse@fb.com>
parents: 26614
diff changeset
   103
  $ hg co 0 --config 'ui.origbackuppath=.hg/origbackups'
12258
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
   104
  merging zzz1_merge_ok
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
   105
  merging zzz2_merge_bad
26614
ef1eb6df7071 simplemerge: move conflict warning message to filemerge
Siddharth Agarwal <sid0@fb.com>
parents: 15501
diff changeset
   106
  warning: conflicts while merging zzz2_merge_bad! (edit, then use 'hg resolve --mark')
30229
69ffbbe73dd0 merge: avoid superfluous filemerges when grafting through renames (issue5407)
Gábor Stefanik <gabor.stefanik@nng.com>
parents: 30200
diff changeset
   107
  2 files updated, 1 files merged, 3 files removed, 1 files unresolved
12258
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
   108
  use 'hg resolve' to retry unresolved file merges
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12258
diff changeset
   109
  [1]
12258
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
   110
26941
454deda24315 filemerge: choose where .orig files are kept
Christian Delahousse <cdelahousse@fb.com>
parents: 26614
diff changeset
   111
Are orig files from the last commit where we want them?
454deda24315 filemerge: choose where .orig files are kept
Christian Delahousse <cdelahousse@fb.com>
parents: 26614
diff changeset
   112
  $ ls .hg/origbackups
34146
9e4f82bc2b0b scmutil: don't append .orig to backups in origbackuppath (BC)
Mark Thomas <mbthomas@fb.com>
parents: 30229
diff changeset
   113
  zzz2_merge_bad
26941
454deda24315 filemerge: choose where .orig files are kept
Christian Delahousse <cdelahousse@fb.com>
parents: 26614
diff changeset
   114
12258
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
   115
  $ hg diff --nodates | grep "^[+-][^<>]"
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
   116
  --- a/zzz1_merge_ok
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
   117
  +++ b/zzz1_merge_ok
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
   118
  +new last line
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
   119
  --- a/zzz2_merge_bad
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
   120
  +++ b/zzz2_merge_bad
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
   121
  +another last line
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
   122
  +=======
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
   123
  +=======
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
   124
  +new last line
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
   125
  +=======
3869
ad6f34c83c3d Add instructions how to redo/finish failed merge with local working directory.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
   126
12258
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
   127
  $ hg st
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
   128
  M zzz1_merge_ok
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
   129
  M zzz2_merge_bad
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
   130
  ? zzz2_merge_bad.orig
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
   131
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
   132
Local merge without conflicts:
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
   133
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
   134
  $ hg revert zzz2_merge_bad
3869
ad6f34c83c3d Add instructions how to redo/finish failed merge with local working directory.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
   135
27316
777f668eca70 merge: refuse update/merge if there are unresolved conflicts (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents: 26941
diff changeset
   136
  $ hg resolve -m
777f668eca70 merge: refuse update/merge if there are unresolved conflicts (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents: 26941
diff changeset
   137
  (no more unresolved files)
777f668eca70 merge: refuse update/merge if there are unresolved conflicts (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents: 26941
diff changeset
   138
12258
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
   139
  $ hg co
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
   140
  merging zzz1_merge_ok
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
   141
  4 files updated, 1 files merged, 2 files removed, 0 files unresolved
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
   142
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
   143
  $ hg diff --nodates | grep "^[+-][^<>]"
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
   144
  --- a/zzz1_merge_ok
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
   145
  +++ b/zzz1_merge_ok
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
   146
  +new last line
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
   147
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
   148
  $ hg st
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
   149
  M zzz1_merge_ok
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
   150
  ? zzz2_merge_bad.orig
98ec977aa61e tests: unify test-merge-local
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
   151