tests/test-conflict.t
author Gregory Szorc <gregory.szorc@gmail.com>
Fri, 06 Apr 2018 22:39:58 -0700
changeset 37497 1541e1a8e87d
parent 35949 80e5210df25c
child 38341 50f5fc232c16
permissions -rw-r--r--
filelog: wrap revlog instead of inheriting it (API) The revlog base class exposes a ton of methods. Inheriting the revlog class for filelog will make it difficult to expose a clean interface. There will be abstraction violations. This commit breaks the inheritance of revlog by the filelog class. Filelog instances now contain a reference to a revlog instance. Various properties and methods are now proxied to that instance. There is precedence for doing this: manifestlog does something similar. Although, manifestlog has a cleaner interface than filelog. We'll get there with filelog... The new filelog class exposes a handful of extra properties and methods that aren't part of the declared filelog interface. Every extra item was added in order to get a test to pass. The set of tests that failed without these extra proxies has significant overlap with the set of tests that don't work with the simple store repo. There should be no surprise there. Hopefully the hardest part about this commit to review are the changes to bundlerepo and unionrepo. Both repository types define a custom revlog or revlog-like class and then have a custom filelog that inherits from both filelog and their custom revlog. This code has been changed so the filelog types don't inherit from revlog. Instead, they replace the revlog instance on the created filelog. This is super hacky. I plan to fix this in a future commit by parameterizing filelog.__init__. Because Python function call overhead is a thing, this change could impact performance by introducing a nearly empty proxy function for various methods and properties. I would gladly measure the performance impact of it, but I'm not sure what operations have tight loops over filelog attribute lookups or function calls. I know some of the DAG traversal code can be sensitive about the performance of e.g. parentrevs(). However, many of these functions are implemented on the revlog class and therefore have direct access to self.parentrevs() and aren't going through a proxy. .. api:: filelog.filelog is now a standalone class and doesn't inherit from revlog. Instead, it wraps a revlog instance at self._revlog. This change was made in an attempt to formalize storage APIs and prevent revlog implementation details leaking through to callers. Differential Revision: https://phab.mercurial-scm.org/D3154
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
11797
66e4e8e8b1e5 tests: unify test-conflict
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 4387
diff changeset
     1
  $ hg init
21920
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
     2
  $ cat << EOF > a
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
     3
  > Small Mathematical Series.
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
     4
  > One
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
     5
  > Two
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
     6
  > Three
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
     7
  > Four
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
     8
  > Five
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
     9
  > Hop we are done.
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
    10
  > EOF
11797
66e4e8e8b1e5 tests: unify test-conflict
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 4387
diff changeset
    11
  $ hg add a
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11797
diff changeset
    12
  $ hg commit -m ancestor
21920
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
    13
  $ cat << EOF > a
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
    14
  > Small Mathematical Series.
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
    15
  > 1
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
    16
  > 2
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
    17
  > 3
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
    18
  > 4
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
    19
  > 5
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
    20
  > Hop we are done.
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
    21
  > EOF
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11797
diff changeset
    22
  $ hg commit -m branch1
11797
66e4e8e8b1e5 tests: unify test-conflict
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 4387
diff changeset
    23
  $ hg co 0
66e4e8e8b1e5 tests: unify test-conflict
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 4387
diff changeset
    24
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
21920
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
    25
  $ cat << EOF > a
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
    26
  > Small Mathematical Series.
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
    27
  > 1
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
    28
  > 2
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
    29
  > 3
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
    30
  > 6
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
    31
  > 8
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
    32
  > Hop we are done.
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
    33
  > EOF
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11797
diff changeset
    34
  $ hg commit -m branch2
11797
66e4e8e8b1e5 tests: unify test-conflict
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 4387
diff changeset
    35
  created new head
346
f69a5d2d4fe1 merge3: fix argument order
mpm@selenic.com
parents:
diff changeset
    36
11797
66e4e8e8b1e5 tests: unify test-conflict
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 4387
diff changeset
    37
  $ hg merge 1
66e4e8e8b1e5 tests: unify test-conflict
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 4387
diff changeset
    38
  merging a
26614
ef1eb6df7071 simplemerge: move conflict warning message to filemerge
Siddharth Agarwal <sid0@fb.com>
parents: 26224
diff changeset
    39
  warning: conflicts while merging a! (edit, then use 'hg resolve --mark')
11797
66e4e8e8b1e5 tests: unify test-conflict
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 4387
diff changeset
    40
  0 files updated, 0 files merged, 0 files removed, 1 files unresolved
35704
41ef02ba329b merge: add `--abort` flag which can abort the merge
Pulkit Goyal <7895pulkit@gmail.com>
parents: 33771
diff changeset
    41
  use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12314
diff changeset
    42
  [1]
11797
66e4e8e8b1e5 tests: unify test-conflict
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 4387
diff changeset
    43
66e4e8e8b1e5 tests: unify test-conflict
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 4387
diff changeset
    44
  $ hg id
21920
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
    45
  618808747361+c0c68e4fe667+ tip
11797
66e4e8e8b1e5 tests: unify test-conflict
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 4387
diff changeset
    46
33771
96f43981c1c4 morestatus: move fb extension to core by plugging to `hg status --verbose`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 33262
diff changeset
    47
  $ echo "[commands]" >> $HGRCPATH
96f43981c1c4 morestatus: move fb extension to core by plugging to `hg status --verbose`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 33262
diff changeset
    48
  $ echo "status.verbose=true" >> $HGRCPATH
96f43981c1c4 morestatus: move fb extension to core by plugging to `hg status --verbose`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 33262
diff changeset
    49
  $ hg status
96f43981c1c4 morestatus: move fb extension to core by plugging to `hg status --verbose`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 33262
diff changeset
    50
  M a
96f43981c1c4 morestatus: move fb extension to core by plugging to `hg status --verbose`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 33262
diff changeset
    51
  ? a.orig
96f43981c1c4 morestatus: move fb extension to core by plugging to `hg status --verbose`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 33262
diff changeset
    52
  # The repository is in an unfinished *merge* state.
96f43981c1c4 morestatus: move fb extension to core by plugging to `hg status --verbose`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 33262
diff changeset
    53
  
96f43981c1c4 morestatus: move fb extension to core by plugging to `hg status --verbose`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 33262
diff changeset
    54
  # Unresolved merge conflicts:
96f43981c1c4 morestatus: move fb extension to core by plugging to `hg status --verbose`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 33262
diff changeset
    55
  # 
96f43981c1c4 morestatus: move fb extension to core by plugging to `hg status --verbose`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 33262
diff changeset
    56
  #     a
96f43981c1c4 morestatus: move fb extension to core by plugging to `hg status --verbose`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 33262
diff changeset
    57
  # 
96f43981c1c4 morestatus: move fb extension to core by plugging to `hg status --verbose`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 33262
diff changeset
    58
  # To mark files as resolved:  hg resolve --mark FILE
96f43981c1c4 morestatus: move fb extension to core by plugging to `hg status --verbose`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 33262
diff changeset
    59
  
96f43981c1c4 morestatus: move fb extension to core by plugging to `hg status --verbose`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 33262
diff changeset
    60
  # To continue:                hg commit
96f43981c1c4 morestatus: move fb extension to core by plugging to `hg status --verbose`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 33262
diff changeset
    61
  # To abort:                   hg update --clean .    (warning: this will discard uncommitted changes)
96f43981c1c4 morestatus: move fb extension to core by plugging to `hg status --verbose`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 33262
diff changeset
    62
  
96f43981c1c4 morestatus: move fb extension to core by plugging to `hg status --verbose`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 33262
diff changeset
    63
11797
66e4e8e8b1e5 tests: unify test-conflict
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 4387
diff changeset
    64
  $ cat a
21920
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
    65
  Small Mathematical Series.
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
    66
  1
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
    67
  2
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
    68
  3
30062
940c05b25b07 merge: add conflict labels to merge command
Simon Farnsworth <simonfar@fb.com>
parents: 28072
diff changeset
    69
  <<<<<<< working copy: 618808747361 - test: branch2
21920
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
    70
  6
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
    71
  8
21519
25d5a9ecbb85 merge: add conflict marker formatter (BC)
Durham Goode <durham@fb.com>
parents: 15501
diff changeset
    72
  =======
21920
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
    73
  4
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
    74
  5
30460
ce3a133f71b3 conflicts: make spacing consistent in conflict markers
Kostia Balytskyi <ikostia@fb.com>
parents: 30062
diff changeset
    75
  >>>>>>> merge rev:    c0c68e4fe667 - test: branch1
21920
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
    76
  Hop we are done.
21519
25d5a9ecbb85 merge: add conflict marker formatter (BC)
Durham Goode <durham@fb.com>
parents: 15501
diff changeset
    77
33771
96f43981c1c4 morestatus: move fb extension to core by plugging to `hg status --verbose`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 33262
diff changeset
    78
  $ hg status --config commands.status.verbose=0
21519
25d5a9ecbb85 merge: add conflict marker formatter (BC)
Durham Goode <durham@fb.com>
parents: 15501
diff changeset
    79
  M a
25d5a9ecbb85 merge: add conflict marker formatter (BC)
Durham Goode <durham@fb.com>
parents: 15501
diff changeset
    80
  ? a.orig
25d5a9ecbb85 merge: add conflict marker formatter (BC)
Durham Goode <durham@fb.com>
parents: 15501
diff changeset
    81
25d5a9ecbb85 merge: add conflict marker formatter (BC)
Durham Goode <durham@fb.com>
parents: 15501
diff changeset
    82
Verify custom conflict markers
25d5a9ecbb85 merge: add conflict marker formatter (BC)
Durham Goode <durham@fb.com>
parents: 15501
diff changeset
    83
25d5a9ecbb85 merge: add conflict marker formatter (BC)
Durham Goode <durham@fb.com>
parents: 15501
diff changeset
    84
  $ hg up -q --clean .
32047
458f7294dfee filemerge: optionally strip quotes from merge marker template (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 30460
diff changeset
    85
  $ cat <<EOF >> .hg/hgrc
458f7294dfee filemerge: optionally strip quotes from merge marker template (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 30460
diff changeset
    86
  > [ui]
458f7294dfee filemerge: optionally strip quotes from merge marker template (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 30460
diff changeset
    87
  > mergemarkertemplate = '{author} {rev}'
458f7294dfee filemerge: optionally strip quotes from merge marker template (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 30460
diff changeset
    88
  > EOF
21519
25d5a9ecbb85 merge: add conflict marker formatter (BC)
Durham Goode <durham@fb.com>
parents: 15501
diff changeset
    89
25d5a9ecbb85 merge: add conflict marker formatter (BC)
Durham Goode <durham@fb.com>
parents: 15501
diff changeset
    90
  $ hg merge 1
25d5a9ecbb85 merge: add conflict marker formatter (BC)
Durham Goode <durham@fb.com>
parents: 15501
diff changeset
    91
  merging a
26614
ef1eb6df7071 simplemerge: move conflict warning message to filemerge
Siddharth Agarwal <sid0@fb.com>
parents: 26224
diff changeset
    92
  warning: conflicts while merging a! (edit, then use 'hg resolve --mark')
21519
25d5a9ecbb85 merge: add conflict marker formatter (BC)
Durham Goode <durham@fb.com>
parents: 15501
diff changeset
    93
  0 files updated, 0 files merged, 0 files removed, 1 files unresolved
35704
41ef02ba329b merge: add `--abort` flag which can abort the merge
Pulkit Goyal <7895pulkit@gmail.com>
parents: 33771
diff changeset
    94
  use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon
21519
25d5a9ecbb85 merge: add conflict marker formatter (BC)
Durham Goode <durham@fb.com>
parents: 15501
diff changeset
    95
  [1]
25d5a9ecbb85 merge: add conflict marker formatter (BC)
Durham Goode <durham@fb.com>
parents: 15501
diff changeset
    96
25d5a9ecbb85 merge: add conflict marker formatter (BC)
Durham Goode <durham@fb.com>
parents: 15501
diff changeset
    97
  $ cat a
21920
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
    98
  Small Mathematical Series.
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
    99
  1
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
   100
  2
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
   101
  3
30062
940c05b25b07 merge: add conflict labels to merge command
Simon Farnsworth <simonfar@fb.com>
parents: 28072
diff changeset
   102
  <<<<<<< working copy: test 2
21920
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
   103
  6
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
   104
  8
21519
25d5a9ecbb85 merge: add conflict marker formatter (BC)
Durham Goode <durham@fb.com>
parents: 15501
diff changeset
   105
  =======
21920
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
   106
  4
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
   107
  5
30062
940c05b25b07 merge: add conflict labels to merge command
Simon Farnsworth <simonfar@fb.com>
parents: 28072
diff changeset
   108
  >>>>>>> merge rev:    test 1
21920
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
   109
  Hop we are done.
21519
25d5a9ecbb85 merge: add conflict marker formatter (BC)
Durham Goode <durham@fb.com>
parents: 15501
diff changeset
   110
21864
755bf1bbe0a9 filemerge: use only the first line of the generated conflict marker for safety
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21693
diff changeset
   111
Verify line splitting of custom conflict marker which causes multiple lines
755bf1bbe0a9 filemerge: use only the first line of the generated conflict marker for safety
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21693
diff changeset
   112
755bf1bbe0a9 filemerge: use only the first line of the generated conflict marker for safety
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21693
diff changeset
   113
  $ hg up -q --clean .
755bf1bbe0a9 filemerge: use only the first line of the generated conflict marker for safety
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21693
diff changeset
   114
  $ cat >> .hg/hgrc <<EOF
755bf1bbe0a9 filemerge: use only the first line of the generated conflict marker for safety
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21693
diff changeset
   115
  > [ui]
755bf1bbe0a9 filemerge: use only the first line of the generated conflict marker for safety
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21693
diff changeset
   116
  > mergemarkertemplate={author} {rev}\nfoo\nbar\nbaz
755bf1bbe0a9 filemerge: use only the first line of the generated conflict marker for safety
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21693
diff changeset
   117
  > EOF
755bf1bbe0a9 filemerge: use only the first line of the generated conflict marker for safety
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21693
diff changeset
   118
755bf1bbe0a9 filemerge: use only the first line of the generated conflict marker for safety
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21693
diff changeset
   119
  $ hg -q merge 1
26614
ef1eb6df7071 simplemerge: move conflict warning message to filemerge
Siddharth Agarwal <sid0@fb.com>
parents: 26224
diff changeset
   120
  warning: conflicts while merging a! (edit, then use 'hg resolve --mark')
21864
755bf1bbe0a9 filemerge: use only the first line of the generated conflict marker for safety
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21693
diff changeset
   121
  [1]
755bf1bbe0a9 filemerge: use only the first line of the generated conflict marker for safety
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21693
diff changeset
   122
755bf1bbe0a9 filemerge: use only the first line of the generated conflict marker for safety
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21693
diff changeset
   123
  $ cat a
21920
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
   124
  Small Mathematical Series.
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
   125
  1
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
   126
  2
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
   127
  3
30062
940c05b25b07 merge: add conflict labels to merge command
Simon Farnsworth <simonfar@fb.com>
parents: 28072
diff changeset
   128
  <<<<<<< working copy: test 2
21920
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
   129
  6
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
   130
  8
21864
755bf1bbe0a9 filemerge: use only the first line of the generated conflict marker for safety
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21693
diff changeset
   131
  =======
21920
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
   132
  4
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
   133
  5
30062
940c05b25b07 merge: add conflict labels to merge command
Simon Farnsworth <simonfar@fb.com>
parents: 28072
diff changeset
   134
  >>>>>>> merge rev:    test 1
21920
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
   135
  Hop we are done.
21864
755bf1bbe0a9 filemerge: use only the first line of the generated conflict marker for safety
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21693
diff changeset
   136
21865
78e56e70c70a filemerge: use 'util.ellipsis' to trim custom conflict markers correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21864
diff changeset
   137
Verify line trimming of custom conflict marker using multi-byte characters
78e56e70c70a filemerge: use 'util.ellipsis' to trim custom conflict markers correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21864
diff changeset
   138
78e56e70c70a filemerge: use 'util.ellipsis' to trim custom conflict markers correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21864
diff changeset
   139
  $ hg up -q --clean .
33262
8e6f4939a69a tests: replace yet more calls to `python` with $PYTHON
Augie Fackler <augie@google.com>
parents: 32698
diff changeset
   140
  $ $PYTHON <<EOF
35949
80e5210df25c py3: make sure we open the file in bytes mode
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35947
diff changeset
   141
  > fp = open('logfile', 'wb')
35947
a36d3c8a0e41 py3: add b'' prefixes to string literals in test files
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35704
diff changeset
   142
  > fp.write(b'12345678901234567890123456789012345678901234567890' +
a36d3c8a0e41 py3: add b'' prefixes to string literals in test files
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35704
diff changeset
   143
  >          b'1234567890') # there are 5 more columns for 80 columns
21865
78e56e70c70a filemerge: use 'util.ellipsis' to trim custom conflict markers correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21864
diff changeset
   144
  > 
78e56e70c70a filemerge: use 'util.ellipsis' to trim custom conflict markers correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21864
diff changeset
   145
  > # 2 x 4 = 8 columns, but 3 x 4 = 12 bytes
78e56e70c70a filemerge: use 'util.ellipsis' to trim custom conflict markers correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21864
diff changeset
   146
  > fp.write(u'\u3042\u3044\u3046\u3048'.encode('utf-8'))
78e56e70c70a filemerge: use 'util.ellipsis' to trim custom conflict markers correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21864
diff changeset
   147
  > 
78e56e70c70a filemerge: use 'util.ellipsis' to trim custom conflict markers correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21864
diff changeset
   148
  > fp.close()
78e56e70c70a filemerge: use 'util.ellipsis' to trim custom conflict markers correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21864
diff changeset
   149
  > EOF
78e56e70c70a filemerge: use 'util.ellipsis' to trim custom conflict markers correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21864
diff changeset
   150
  $ hg add logfile
78e56e70c70a filemerge: use 'util.ellipsis' to trim custom conflict markers correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21864
diff changeset
   151
  $ hg --encoding utf-8 commit --logfile logfile
78e56e70c70a filemerge: use 'util.ellipsis' to trim custom conflict markers correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21864
diff changeset
   152
78e56e70c70a filemerge: use 'util.ellipsis' to trim custom conflict markers correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21864
diff changeset
   153
  $ cat >> .hg/hgrc <<EOF
78e56e70c70a filemerge: use 'util.ellipsis' to trim custom conflict markers correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21864
diff changeset
   154
  > [ui]
78e56e70c70a filemerge: use 'util.ellipsis' to trim custom conflict markers correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21864
diff changeset
   155
  > mergemarkertemplate={desc|firstline}
78e56e70c70a filemerge: use 'util.ellipsis' to trim custom conflict markers correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21864
diff changeset
   156
  > EOF
78e56e70c70a filemerge: use 'util.ellipsis' to trim custom conflict markers correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21864
diff changeset
   157
78e56e70c70a filemerge: use 'util.ellipsis' to trim custom conflict markers correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21864
diff changeset
   158
  $ hg -q --encoding utf-8 merge 1
26614
ef1eb6df7071 simplemerge: move conflict warning message to filemerge
Siddharth Agarwal <sid0@fb.com>
parents: 26224
diff changeset
   159
  warning: conflicts while merging a! (edit, then use 'hg resolve --mark')
21865
78e56e70c70a filemerge: use 'util.ellipsis' to trim custom conflict markers correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21864
diff changeset
   160
  [1]
78e56e70c70a filemerge: use 'util.ellipsis' to trim custom conflict markers correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21864
diff changeset
   161
78e56e70c70a filemerge: use 'util.ellipsis' to trim custom conflict markers correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21864
diff changeset
   162
  $ cat a
21920
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
   163
  Small Mathematical Series.
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
   164
  1
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
   165
  2
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
   166
  3
30062
940c05b25b07 merge: add conflict labels to merge command
Simon Farnsworth <simonfar@fb.com>
parents: 28072
diff changeset
   167
  <<<<<<< working copy: 1234567890123456789012345678901234567890123456789012345...
21920
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
   168
  6
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
   169
  8
21865
78e56e70c70a filemerge: use 'util.ellipsis' to trim custom conflict markers correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21864
diff changeset
   170
  =======
21920
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
   171
  4
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
   172
  5
30062
940c05b25b07 merge: add conflict labels to merge command
Simon Farnsworth <simonfar@fb.com>
parents: 28072
diff changeset
   173
  >>>>>>> merge rev:    branch1
21920
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
   174
  Hop we are done.
21865
78e56e70c70a filemerge: use 'util.ellipsis' to trim custom conflict markers correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21864
diff changeset
   175
21519
25d5a9ecbb85 merge: add conflict marker formatter (BC)
Durham Goode <durham@fb.com>
parents: 15501
diff changeset
   176
Verify basic conflict markers
25d5a9ecbb85 merge: add conflict marker formatter (BC)
Durham Goode <durham@fb.com>
parents: 15501
diff changeset
   177
21865
78e56e70c70a filemerge: use 'util.ellipsis' to trim custom conflict markers correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21864
diff changeset
   178
  $ hg up -q --clean 2
21519
25d5a9ecbb85 merge: add conflict marker formatter (BC)
Durham Goode <durham@fb.com>
parents: 15501
diff changeset
   179
  $ printf "\n[ui]\nmergemarkers=basic\n" >> .hg/hgrc
25d5a9ecbb85 merge: add conflict marker formatter (BC)
Durham Goode <durham@fb.com>
parents: 15501
diff changeset
   180
25d5a9ecbb85 merge: add conflict marker formatter (BC)
Durham Goode <durham@fb.com>
parents: 15501
diff changeset
   181
  $ hg merge 1
25d5a9ecbb85 merge: add conflict marker formatter (BC)
Durham Goode <durham@fb.com>
parents: 15501
diff changeset
   182
  merging a
26614
ef1eb6df7071 simplemerge: move conflict warning message to filemerge
Siddharth Agarwal <sid0@fb.com>
parents: 26224
diff changeset
   183
  warning: conflicts while merging a! (edit, then use 'hg resolve --mark')
21519
25d5a9ecbb85 merge: add conflict marker formatter (BC)
Durham Goode <durham@fb.com>
parents: 15501
diff changeset
   184
  0 files updated, 0 files merged, 0 files removed, 1 files unresolved
35704
41ef02ba329b merge: add `--abort` flag which can abort the merge
Pulkit Goyal <7895pulkit@gmail.com>
parents: 33771
diff changeset
   185
  use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon
21519
25d5a9ecbb85 merge: add conflict marker formatter (BC)
Durham Goode <durham@fb.com>
parents: 15501
diff changeset
   186
  [1]
25d5a9ecbb85 merge: add conflict marker formatter (BC)
Durham Goode <durham@fb.com>
parents: 15501
diff changeset
   187
25d5a9ecbb85 merge: add conflict marker formatter (BC)
Durham Goode <durham@fb.com>
parents: 15501
diff changeset
   188
  $ cat a
21920
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
   189
  Small Mathematical Series.
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
   190
  1
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
   191
  2
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
   192
  3
30062
940c05b25b07 merge: add conflict labels to merge command
Simon Farnsworth <simonfar@fb.com>
parents: 28072
diff changeset
   193
  <<<<<<< working copy
21920
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
   194
  6
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
   195
  8
11797
66e4e8e8b1e5 tests: unify test-conflict
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 4387
diff changeset
   196
  =======
21920
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
   197
  4
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
   198
  5
30062
940c05b25b07 merge: add conflict labels to merge command
Simon Farnsworth <simonfar@fb.com>
parents: 28072
diff changeset
   199
  >>>>>>> merge rev
21920
1d04d3fe616d test: use more elaborated content in ``test-conflict.t``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21865
diff changeset
   200
  Hop we are done.
22028
3d0572ab3b4a merge: add an internal:merge3 tool
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 21921
diff changeset
   201
3d0572ab3b4a merge: add an internal:merge3 tool
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 21921
diff changeset
   202
internal:merge3
3d0572ab3b4a merge: add an internal:merge3 tool
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 21921
diff changeset
   203
3d0572ab3b4a merge: add an internal:merge3 tool
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 21921
diff changeset
   204
  $ hg up -q --clean .
3d0572ab3b4a merge: add an internal:merge3 tool
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 21921
diff changeset
   205
3d0572ab3b4a merge: add an internal:merge3 tool
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 21921
diff changeset
   206
  $ hg merge 1 --tool internal:merge3
3d0572ab3b4a merge: add an internal:merge3 tool
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 21921
diff changeset
   207
  merging a
26614
ef1eb6df7071 simplemerge: move conflict warning message to filemerge
Siddharth Agarwal <sid0@fb.com>
parents: 26224
diff changeset
   208
  warning: conflicts while merging a! (edit, then use 'hg resolve --mark')
22028
3d0572ab3b4a merge: add an internal:merge3 tool
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 21921
diff changeset
   209
  0 files updated, 0 files merged, 0 files removed, 1 files unresolved
35704
41ef02ba329b merge: add `--abort` flag which can abort the merge
Pulkit Goyal <7895pulkit@gmail.com>
parents: 33771
diff changeset
   210
  use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon
22028
3d0572ab3b4a merge: add an internal:merge3 tool
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 21921
diff changeset
   211
  [1]
3d0572ab3b4a merge: add an internal:merge3 tool
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 21921
diff changeset
   212
  $ cat a
3d0572ab3b4a merge: add an internal:merge3 tool
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 21921
diff changeset
   213
  Small Mathematical Series.
30062
940c05b25b07 merge: add conflict labels to merge command
Simon Farnsworth <simonfar@fb.com>
parents: 28072
diff changeset
   214
  <<<<<<< working copy
22028
3d0572ab3b4a merge: add an internal:merge3 tool
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 21921
diff changeset
   215
  1
3d0572ab3b4a merge: add an internal:merge3 tool
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 21921
diff changeset
   216
  2
3d0572ab3b4a merge: add an internal:merge3 tool
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 21921
diff changeset
   217
  3
3d0572ab3b4a merge: add an internal:merge3 tool
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 21921
diff changeset
   218
  6
3d0572ab3b4a merge: add an internal:merge3 tool
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 21921
diff changeset
   219
  8
3d0572ab3b4a merge: add an internal:merge3 tool
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 21921
diff changeset
   220
  ||||||| base
3d0572ab3b4a merge: add an internal:merge3 tool
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 21921
diff changeset
   221
  One
3d0572ab3b4a merge: add an internal:merge3 tool
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 21921
diff changeset
   222
  Two
3d0572ab3b4a merge: add an internal:merge3 tool
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 21921
diff changeset
   223
  Three
3d0572ab3b4a merge: add an internal:merge3 tool
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 21921
diff changeset
   224
  Four
3d0572ab3b4a merge: add an internal:merge3 tool
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 21921
diff changeset
   225
  Five
3d0572ab3b4a merge: add an internal:merge3 tool
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 21921
diff changeset
   226
  =======
3d0572ab3b4a merge: add an internal:merge3 tool
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 21921
diff changeset
   227
  1
3d0572ab3b4a merge: add an internal:merge3 tool
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 21921
diff changeset
   228
  2
3d0572ab3b4a merge: add an internal:merge3 tool
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 21921
diff changeset
   229
  3
3d0572ab3b4a merge: add an internal:merge3 tool
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 21921
diff changeset
   230
  4
3d0572ab3b4a merge: add an internal:merge3 tool
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 21921
diff changeset
   231
  5
30062
940c05b25b07 merge: add conflict labels to merge command
Simon Farnsworth <simonfar@fb.com>
parents: 28072
diff changeset
   232
  >>>>>>> merge rev
22028
3d0572ab3b4a merge: add an internal:merge3 tool
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 21921
diff changeset
   233
  Hop we are done.
26224
a4da463df6cf filemerge: add non-interactive :merge-local and :merge-other
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 22028
diff changeset
   234
a4da463df6cf filemerge: add non-interactive :merge-local and :merge-other
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 22028
diff changeset
   235
Add some unconflicting changes on each head, to make sure we really
a4da463df6cf filemerge: add non-interactive :merge-local and :merge-other
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 22028
diff changeset
   236
are merging, unlike :local and :other
a4da463df6cf filemerge: add non-interactive :merge-local and :merge-other
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 22028
diff changeset
   237
a4da463df6cf filemerge: add non-interactive :merge-local and :merge-other
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 22028
diff changeset
   238
  $ hg up -C
a4da463df6cf filemerge: add non-interactive :merge-local and :merge-other
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 22028
diff changeset
   239
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
32698
1b5c61d38a52 update: show the commit to which we updated in case of multiple heads (BC)
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32047
diff changeset
   240
  updated to "e0693e20f496: 123456789012345678901234567890123456789012345678901234567890????"
28029
72072cfc7e91 update: warn about other topological heads on bare update
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26614
diff changeset
   241
  1 other heads for branch "default"
26224
a4da463df6cf filemerge: add non-interactive :merge-local and :merge-other
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 22028
diff changeset
   242
  $ printf "\n\nEnd of file\n" >> a
a4da463df6cf filemerge: add non-interactive :merge-local and :merge-other
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 22028
diff changeset
   243
  $ hg ci -m "Add some stuff at the end"
a4da463df6cf filemerge: add non-interactive :merge-local and :merge-other
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 22028
diff changeset
   244
  $ hg up -r 1
a4da463df6cf filemerge: add non-interactive :merge-local and :merge-other
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 22028
diff changeset
   245
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved
a4da463df6cf filemerge: add non-interactive :merge-local and :merge-other
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 22028
diff changeset
   246
  $ printf "Start of file\n\n\n" > tmp
a4da463df6cf filemerge: add non-interactive :merge-local and :merge-other
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 22028
diff changeset
   247
  $ cat a >> tmp
a4da463df6cf filemerge: add non-interactive :merge-local and :merge-other
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 22028
diff changeset
   248
  $ mv tmp a
a4da463df6cf filemerge: add non-interactive :merge-local and :merge-other
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 22028
diff changeset
   249
  $ hg ci -m "Add some stuff at the beginning"
a4da463df6cf filemerge: add non-interactive :merge-local and :merge-other
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 22028
diff changeset
   250
a4da463df6cf filemerge: add non-interactive :merge-local and :merge-other
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 22028
diff changeset
   251
Now test :merge-other and :merge-local
a4da463df6cf filemerge: add non-interactive :merge-local and :merge-other
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 22028
diff changeset
   252
a4da463df6cf filemerge: add non-interactive :merge-local and :merge-other
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 22028
diff changeset
   253
  $ hg merge
a4da463df6cf filemerge: add non-interactive :merge-local and :merge-other
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 22028
diff changeset
   254
  merging a
26614
ef1eb6df7071 simplemerge: move conflict warning message to filemerge
Siddharth Agarwal <sid0@fb.com>
parents: 26224
diff changeset
   255
  warning: conflicts while merging a! (edit, then use 'hg resolve --mark')
26224
a4da463df6cf filemerge: add non-interactive :merge-local and :merge-other
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 22028
diff changeset
   256
  1 files updated, 0 files merged, 0 files removed, 1 files unresolved
35704
41ef02ba329b merge: add `--abort` flag which can abort the merge
Pulkit Goyal <7895pulkit@gmail.com>
parents: 33771
diff changeset
   257
  use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon
26224
a4da463df6cf filemerge: add non-interactive :merge-local and :merge-other
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 22028
diff changeset
   258
  [1]
a4da463df6cf filemerge: add non-interactive :merge-local and :merge-other
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 22028
diff changeset
   259
  $ hg resolve --tool :merge-other a
a4da463df6cf filemerge: add non-interactive :merge-local and :merge-other
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 22028
diff changeset
   260
  merging a
a4da463df6cf filemerge: add non-interactive :merge-local and :merge-other
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 22028
diff changeset
   261
  (no more unresolved files)
a4da463df6cf filemerge: add non-interactive :merge-local and :merge-other
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 22028
diff changeset
   262
  $ cat a
a4da463df6cf filemerge: add non-interactive :merge-local and :merge-other
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 22028
diff changeset
   263
  Start of file
a4da463df6cf filemerge: add non-interactive :merge-local and :merge-other
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 22028
diff changeset
   264
  
a4da463df6cf filemerge: add non-interactive :merge-local and :merge-other
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 22028
diff changeset
   265
  
a4da463df6cf filemerge: add non-interactive :merge-local and :merge-other
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 22028
diff changeset
   266
  Small Mathematical Series.
a4da463df6cf filemerge: add non-interactive :merge-local and :merge-other
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 22028
diff changeset
   267
  1
a4da463df6cf filemerge: add non-interactive :merge-local and :merge-other
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 22028
diff changeset
   268
  2
a4da463df6cf filemerge: add non-interactive :merge-local and :merge-other
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 22028
diff changeset
   269
  3
a4da463df6cf filemerge: add non-interactive :merge-local and :merge-other
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 22028
diff changeset
   270
  6
a4da463df6cf filemerge: add non-interactive :merge-local and :merge-other
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 22028
diff changeset
   271
  8
a4da463df6cf filemerge: add non-interactive :merge-local and :merge-other
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 22028
diff changeset
   272
  Hop we are done.
a4da463df6cf filemerge: add non-interactive :merge-local and :merge-other
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 22028
diff changeset
   273
  
a4da463df6cf filemerge: add non-interactive :merge-local and :merge-other
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 22028
diff changeset
   274
  
a4da463df6cf filemerge: add non-interactive :merge-local and :merge-other
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 22028
diff changeset
   275
  End of file
a4da463df6cf filemerge: add non-interactive :merge-local and :merge-other
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 22028
diff changeset
   276
a4da463df6cf filemerge: add non-interactive :merge-local and :merge-other
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 22028
diff changeset
   277
  $ hg up -C
a4da463df6cf filemerge: add non-interactive :merge-local and :merge-other
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 22028
diff changeset
   278
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved
32698
1b5c61d38a52 update: show the commit to which we updated in case of multiple heads (BC)
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32047
diff changeset
   279
  updated to "18b51d585961: Add some stuff at the beginning"
28029
72072cfc7e91 update: warn about other topological heads on bare update
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26614
diff changeset
   280
  1 other heads for branch "default"
26224
a4da463df6cf filemerge: add non-interactive :merge-local and :merge-other
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 22028
diff changeset
   281
  $ hg merge --tool :merge-local
a4da463df6cf filemerge: add non-interactive :merge-local and :merge-other
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 22028
diff changeset
   282
  merging a
a4da463df6cf filemerge: add non-interactive :merge-local and :merge-other
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 22028
diff changeset
   283
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
a4da463df6cf filemerge: add non-interactive :merge-local and :merge-other
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 22028
diff changeset
   284
  (branch merge, don't forget to commit)
a4da463df6cf filemerge: add non-interactive :merge-local and :merge-other
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 22028
diff changeset
   285
  $ cat a
a4da463df6cf filemerge: add non-interactive :merge-local and :merge-other
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 22028
diff changeset
   286
  Start of file
a4da463df6cf filemerge: add non-interactive :merge-local and :merge-other
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 22028
diff changeset
   287
  
a4da463df6cf filemerge: add non-interactive :merge-local and :merge-other
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 22028
diff changeset
   288
  
a4da463df6cf filemerge: add non-interactive :merge-local and :merge-other
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 22028
diff changeset
   289
  Small Mathematical Series.
a4da463df6cf filemerge: add non-interactive :merge-local and :merge-other
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 22028
diff changeset
   290
  1
a4da463df6cf filemerge: add non-interactive :merge-local and :merge-other
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 22028
diff changeset
   291
  2
a4da463df6cf filemerge: add non-interactive :merge-local and :merge-other
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 22028
diff changeset
   292
  3
a4da463df6cf filemerge: add non-interactive :merge-local and :merge-other
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 22028
diff changeset
   293
  4
a4da463df6cf filemerge: add non-interactive :merge-local and :merge-other
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 22028
diff changeset
   294
  5
a4da463df6cf filemerge: add non-interactive :merge-local and :merge-other
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 22028
diff changeset
   295
  Hop we are done.
a4da463df6cf filemerge: add non-interactive :merge-local and :merge-other
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 22028
diff changeset
   296
  
a4da463df6cf filemerge: add non-interactive :merge-local and :merge-other
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 22028
diff changeset
   297
  
a4da463df6cf filemerge: add non-interactive :merge-local and :merge-other
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 22028
diff changeset
   298
  End of file