tests/test-merge-criss-cross.t
author Raphaël Gomès <rgomes@octobus.net>
Thu, 02 Mar 2023 23:29:52 +0100
branchstable
changeset 50270 c15c149ae0dd
parent 48476 6b1049d71c3e
permissions -rw-r--r--
Added tag 6.4rc0 for changeset 05de4896508e
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
45582
b9d6ab6cdeb4 configitems: add a new config option to control new filenode functionality
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45530
diff changeset
     1
#testcases old newfilenode
b9d6ab6cdeb4 configitems: add a new config option to control new filenode functionality
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45530
diff changeset
     2
b9d6ab6cdeb4 configitems: add a new config option to control new filenode functionality
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45530
diff changeset
     3
#if newfilenode
b9d6ab6cdeb4 configitems: add a new config option to control new filenode functionality
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45530
diff changeset
     4
Enable the config option
b9d6ab6cdeb4 configitems: add a new config option to control new filenode functionality
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45530
diff changeset
     5
------------------------
b9d6ab6cdeb4 configitems: add a new config option to control new filenode functionality
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45530
diff changeset
     6
b9d6ab6cdeb4 configitems: add a new config option to control new filenode functionality
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45530
diff changeset
     7
  $ cat >> $HGRCPATH <<EOF
b9d6ab6cdeb4 configitems: add a new config option to control new filenode functionality
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45530
diff changeset
     8
  > [experimental]
b9d6ab6cdeb4 configitems: add a new config option to control new filenode functionality
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45530
diff changeset
     9
  > merge-track-salvaged = True
b9d6ab6cdeb4 configitems: add a new config option to control new filenode functionality
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45530
diff changeset
    10
  > EOF
b9d6ab6cdeb4 configitems: add a new config option to control new filenode functionality
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45530
diff changeset
    11
#endif
b9d6ab6cdeb4 configitems: add a new config option to control new filenode functionality
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45530
diff changeset
    12
20636
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
    13
Criss cross merging
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
    14
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
    15
  $ hg init criss-cross
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
    16
  $ cd criss-cross
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
    17
  $ echo '0 base' > f1
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
    18
  $ echo '0 base' > f2
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
    19
  $ hg ci -Aqm '0 base'
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
    20
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
    21
  $ echo '1 first change' > f1
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
    22
  $ hg ci -m '1 first change f1'
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
    23
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
    24
  $ hg up -qr0
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
    25
  $ echo '2 first change' > f2
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
    26
  $ hg ci -qm '2 first change f2'
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
    27
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
    28
  $ hg merge -qr 1
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
    29
  $ hg ci -m '3 merge'
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
    30
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
    31
  $ hg up -qr2
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
    32
  $ hg merge -qr1
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
    33
  $ hg ci -qm '4 merge'
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
    34
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
    35
  $ echo '5 second change' > f1
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
    36
  $ hg ci -m '5 second change f1'
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
    37
21125
e94e90a4526e context: tell when .ancestor picks one of multiple common ancestors heads
Mads Kiilerich <madski@unity3d.com>
parents: 20636
diff changeset
    38
  $ hg up -r3
42196
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
    39
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
20636
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
    40
  $ echo '6 second change' > f2
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
    41
  $ hg ci -m '6 second change f2'
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
    42
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
    43
  $ hg log -G
42196
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
    44
  @  changeset:   6:3b08d01b0ab5
20636
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
    45
  |  tag:         tip
42196
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
    46
  |  parent:      3:cf89f02107e5
20636
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
    47
  |  user:        test
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
    48
  |  date:        Thu Jan 01 00:00:00 1970 +0000
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
    49
  |  summary:     6 second change f2
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
    50
  |
42196
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
    51
  | o  changeset:   5:adfe50279922
20636
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
    52
  | |  user:        test
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
    53
  | |  date:        Thu Jan 01 00:00:00 1970 +0000
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
    54
  | |  summary:     5 second change f1
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
    55
  | |
42196
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
    56
  | o    changeset:   4:7d3e55501ae6
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
    57
  | |\   parent:      2:40663881a6dd
20636
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
    58
  | | |  parent:      1:0f6b37dbe527
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
    59
  | | |  user:        test
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
    60
  | | |  date:        Thu Jan 01 00:00:00 1970 +0000
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
    61
  | | |  summary:     4 merge
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
    62
  | | |
42196
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
    63
  o---+  changeset:   3:cf89f02107e5
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
    64
  | | |  parent:      2:40663881a6dd
20636
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
    65
  |/ /   parent:      1:0f6b37dbe527
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
    66
  | |    user:        test
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
    67
  | |    date:        Thu Jan 01 00:00:00 1970 +0000
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
    68
  | |    summary:     3 merge
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
    69
  | |
42196
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
    70
  | o  changeset:   2:40663881a6dd
20636
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
    71
  | |  parent:      0:40494bf2444c
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
    72
  | |  user:        test
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
    73
  | |  date:        Thu Jan 01 00:00:00 1970 +0000
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
    74
  | |  summary:     2 first change f2
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
    75
  | |
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
    76
  o |  changeset:   1:0f6b37dbe527
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
    77
  |/   user:        test
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
    78
  |    date:        Thu Jan 01 00:00:00 1970 +0000
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
    79
  |    summary:     1 first change f1
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
    80
  |
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
    81
  o  changeset:   0:40494bf2444c
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
    82
     user:        test
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
    83
     date:        Thu Jan 01 00:00:00 1970 +0000
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
    84
     summary:     0 base
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
    85
  
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
    86
22672
19903277f035 merge: use bid merge by default (BC)
Mads Kiilerich <madski@unity3d.com>
parents: 22671
diff changeset
    87
  $ hg merge -v --debug --tool internal:dump 5 --config merge.preferancestor='!'
42196
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
    88
  note: using 0f6b37dbe527 as ancestor of 3b08d01b0ab5 and adfe50279922
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
    89
        alternatively, use --config merge.preferancestor=40663881a6dd
20636
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
    90
  resolving manifests
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
    91
   branchmerge: True, force: False, partial: False
42196
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
    92
   ancestor: 0f6b37dbe527, local: 3b08d01b0ab5+, remote: adfe50279922
20636
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
    93
   f1: remote is newer -> g
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
    94
  getting f1
45499
c4f14db3da1d merge: move initial handling of mergeactions near to later one
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45480
diff changeset
    95
   preserving f2 for resolve of f2
48472
38941a28406a mergestate: merge `preresolve()` into `resolve()`
Martin von Zweigbergk <martinvonz@google.com>
parents: 46811
diff changeset
    96
   f2: versions differ -> m
27161
296d55def9c4 filemerge: add debug output for whether this is a change/delete conflict
Siddharth Agarwal <sid0@fb.com>
parents: 26618
diff changeset
    97
  picked tool ':dump' for f2 (binary False symlink False changedelete False)
20636
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
    98
  merging f2
42196
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
    99
  my f2@3b08d01b0ab5+ other f2@adfe50279922 ancestor f2@0f6b37dbe527
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   100
  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: 35400
diff changeset
   101
  use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon
20636
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
   102
  [1]
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
   103
42196
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   104
  $ f --dump *
30855
72c36a2be2d6 tests: use 'f' in test-merge-criss-cross.t to prepare for recursive dumping
Mads Kiilerich <mads@kiilerich.com>
parents: 28065
diff changeset
   105
  f1:
72c36a2be2d6 tests: use 'f' in test-merge-criss-cross.t to prepare for recursive dumping
Mads Kiilerich <mads@kiilerich.com>
parents: 28065
diff changeset
   106
  >>>
20636
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
   107
  5 second change
30855
72c36a2be2d6 tests: use 'f' in test-merge-criss-cross.t to prepare for recursive dumping
Mads Kiilerich <mads@kiilerich.com>
parents: 28065
diff changeset
   108
  <<<
72c36a2be2d6 tests: use 'f' in test-merge-criss-cross.t to prepare for recursive dumping
Mads Kiilerich <mads@kiilerich.com>
parents: 28065
diff changeset
   109
  f2:
72c36a2be2d6 tests: use 'f' in test-merge-criss-cross.t to prepare for recursive dumping
Mads Kiilerich <mads@kiilerich.com>
parents: 28065
diff changeset
   110
  >>>
20636
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
   111
  6 second change
30855
72c36a2be2d6 tests: use 'f' in test-merge-criss-cross.t to prepare for recursive dumping
Mads Kiilerich <mads@kiilerich.com>
parents: 28065
diff changeset
   112
  <<<
72c36a2be2d6 tests: use 'f' in test-merge-criss-cross.t to prepare for recursive dumping
Mads Kiilerich <mads@kiilerich.com>
parents: 28065
diff changeset
   113
  f2.base:
72c36a2be2d6 tests: use 'f' in test-merge-criss-cross.t to prepare for recursive dumping
Mads Kiilerich <mads@kiilerich.com>
parents: 28065
diff changeset
   114
  >>>
20636
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
   115
  0 base
30855
72c36a2be2d6 tests: use 'f' in test-merge-criss-cross.t to prepare for recursive dumping
Mads Kiilerich <mads@kiilerich.com>
parents: 28065
diff changeset
   116
  <<<
72c36a2be2d6 tests: use 'f' in test-merge-criss-cross.t to prepare for recursive dumping
Mads Kiilerich <mads@kiilerich.com>
parents: 28065
diff changeset
   117
  f2.local:
72c36a2be2d6 tests: use 'f' in test-merge-criss-cross.t to prepare for recursive dumping
Mads Kiilerich <mads@kiilerich.com>
parents: 28065
diff changeset
   118
  >>>
20636
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
   119
  6 second change
30855
72c36a2be2d6 tests: use 'f' in test-merge-criss-cross.t to prepare for recursive dumping
Mads Kiilerich <mads@kiilerich.com>
parents: 28065
diff changeset
   120
  <<<
72c36a2be2d6 tests: use 'f' in test-merge-criss-cross.t to prepare for recursive dumping
Mads Kiilerich <mads@kiilerich.com>
parents: 28065
diff changeset
   121
  f2.orig:
72c36a2be2d6 tests: use 'f' in test-merge-criss-cross.t to prepare for recursive dumping
Mads Kiilerich <mads@kiilerich.com>
parents: 28065
diff changeset
   122
  >>>
20636
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
   123
  6 second change
30855
72c36a2be2d6 tests: use 'f' in test-merge-criss-cross.t to prepare for recursive dumping
Mads Kiilerich <mads@kiilerich.com>
parents: 28065
diff changeset
   124
  <<<
72c36a2be2d6 tests: use 'f' in test-merge-criss-cross.t to prepare for recursive dumping
Mads Kiilerich <mads@kiilerich.com>
parents: 28065
diff changeset
   125
  f2.other:
72c36a2be2d6 tests: use 'f' in test-merge-criss-cross.t to prepare for recursive dumping
Mads Kiilerich <mads@kiilerich.com>
parents: 28065
diff changeset
   126
  >>>
20636
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
   127
  2 first change
30855
72c36a2be2d6 tests: use 'f' in test-merge-criss-cross.t to prepare for recursive dumping
Mads Kiilerich <mads@kiilerich.com>
parents: 28065
diff changeset
   128
  <<<
20636
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
   129
21126
99b5eaf372a7 context: introduce merge.preferancestor for controlling which ancestor to pick
Mads Kiilerich <madski@unity3d.com>
parents: 21125
diff changeset
   130
  $ hg up -qC .
99b5eaf372a7 context: introduce merge.preferancestor for controlling which ancestor to pick
Mads Kiilerich <madski@unity3d.com>
parents: 21125
diff changeset
   131
  $ hg merge -v --tool internal:dump 5 --config merge.preferancestor="null 40663881 3b08d"
42196
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   132
  note: using 40663881a6dd as ancestor of 3b08d01b0ab5 and adfe50279922
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   133
        alternatively, use --config merge.preferancestor=0f6b37dbe527
21126
99b5eaf372a7 context: introduce merge.preferancestor for controlling which ancestor to pick
Mads Kiilerich <madski@unity3d.com>
parents: 21125
diff changeset
   134
  resolving manifests
42196
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   135
  merging f1
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   136
  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: 35400
diff changeset
   137
  use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon
21126
99b5eaf372a7 context: introduce merge.preferancestor for controlling which ancestor to pick
Mads Kiilerich <madski@unity3d.com>
parents: 21125
diff changeset
   138
  [1]
99b5eaf372a7 context: introduce merge.preferancestor for controlling which ancestor to pick
Mads Kiilerich <madski@unity3d.com>
parents: 21125
diff changeset
   139
21128
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   140
Redo merge with merge.preferancestor="*" to enable bid merge
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   141
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   142
  $ rm f*
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   143
  $ hg up -qC .
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   144
  $ hg merge -v --debug --tool internal:dump 5 --config merge.preferancestor="*"
42196
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   145
  note: merging 3b08d01b0ab5+ and adfe50279922 using bids from ancestors 0f6b37dbe527 and 40663881a6dd
21128
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   146
  
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   147
  calculating bids for ancestor 0f6b37dbe527
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   148
  resolving manifests
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   149
   branchmerge: True, force: False, partial: False
42196
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   150
   ancestor: 0f6b37dbe527, local: 3b08d01b0ab5+, remote: adfe50279922
21269
fa601c4e03f9 merge: make debug output slightly more helpful by including message for action
Mads Kiilerich <madski@unity3d.com>
parents: 21172
diff changeset
   151
   f1: remote is newer -> g
fa601c4e03f9 merge: make debug output slightly more helpful by including message for action
Mads Kiilerich <madski@unity3d.com>
parents: 21172
diff changeset
   152
   f2: versions differ -> m
21128
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   153
  
42196
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   154
  calculating bids for ancestor 40663881a6dd
21128
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   155
  resolving manifests
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   156
   branchmerge: True, force: False, partial: False
42196
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   157
   ancestor: 40663881a6dd, local: 3b08d01b0ab5+, remote: adfe50279922
23638
09be050ca98c merge: let bid merge work on the file->action dict
Martin von Zweigbergk <martinvonz@google.com>
parents: 23482
diff changeset
   158
   f1: versions differ -> m
23482
208ec8ca7c79 merge: make 'keep' message more descriptive
Martin von Zweigbergk <martinvonz@google.com>
parents: 22673
diff changeset
   159
   f2: remote unchanged -> k
21128
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   160
  
45458
e7c8a5030a90 merge: show number of ancestors in bid merge debug notes
Pulkit Goyal <7895pulkit@gmail.com>
parents: 44272
diff changeset
   161
  auction for merging merge bids (2 ancestors)
45470
ccd3bf4490c1 merge: show list of bids for each file in bid-merge in ui.debug()
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45458
diff changeset
   162
   list of bids for f1:
ccd3bf4490c1 merge: show list of bids for each file in bid-merge in ui.debug()
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45458
diff changeset
   163
     remote is newer -> g
ccd3bf4490c1 merge: show list of bids for each file in bid-merge in ui.debug()
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45458
diff changeset
   164
     versions differ -> m
21128
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   165
   f1: picking 'get' action
45470
ccd3bf4490c1 merge: show list of bids for each file in bid-merge in ui.debug()
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45458
diff changeset
   166
   list of bids for f2:
ccd3bf4490c1 merge: show list of bids for each file in bid-merge in ui.debug()
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45458
diff changeset
   167
     remote unchanged -> k
ccd3bf4490c1 merge: show list of bids for each file in bid-merge in ui.debug()
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45458
diff changeset
   168
     versions differ -> m
21128
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   169
   f2: picking 'keep' action
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   170
  end of auction
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   171
  
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   172
   f1: remote is newer -> g
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   173
  getting f1
23482
208ec8ca7c79 merge: make 'keep' message more descriptive
Martin von Zweigbergk <martinvonz@google.com>
parents: 22673
diff changeset
   174
   f2: remote unchanged -> k
42196
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   175
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
21128
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   176
  (branch merge, don't forget to commit)
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   177
42196
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   178
  $ f --dump *
30855
72c36a2be2d6 tests: use 'f' in test-merge-criss-cross.t to prepare for recursive dumping
Mads Kiilerich <mads@kiilerich.com>
parents: 28065
diff changeset
   179
  f1:
72c36a2be2d6 tests: use 'f' in test-merge-criss-cross.t to prepare for recursive dumping
Mads Kiilerich <mads@kiilerich.com>
parents: 28065
diff changeset
   180
  >>>
21128
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   181
  5 second change
30855
72c36a2be2d6 tests: use 'f' in test-merge-criss-cross.t to prepare for recursive dumping
Mads Kiilerich <mads@kiilerich.com>
parents: 28065
diff changeset
   182
  <<<
72c36a2be2d6 tests: use 'f' in test-merge-criss-cross.t to prepare for recursive dumping
Mads Kiilerich <mads@kiilerich.com>
parents: 28065
diff changeset
   183
  f2:
72c36a2be2d6 tests: use 'f' in test-merge-criss-cross.t to prepare for recursive dumping
Mads Kiilerich <mads@kiilerich.com>
parents: 28065
diff changeset
   184
  >>>
21128
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   185
  6 second change
30855
72c36a2be2d6 tests: use 'f' in test-merge-criss-cross.t to prepare for recursive dumping
Mads Kiilerich <mads@kiilerich.com>
parents: 28065
diff changeset
   186
  <<<
21128
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   187
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   188
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   189
The other way around:
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   190
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   191
  $ hg up -C -r5
42196
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   192
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
21128
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   193
  $ hg merge -v --debug --config merge.preferancestor="*"
42196
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   194
  note: merging adfe50279922+ and 3b08d01b0ab5 using bids from ancestors 0f6b37dbe527 and 40663881a6dd
21128
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   195
  
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   196
  calculating bids for ancestor 0f6b37dbe527
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   197
  resolving manifests
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   198
   branchmerge: True, force: False, partial: False
42196
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   199
   ancestor: 0f6b37dbe527, local: adfe50279922+, remote: 3b08d01b0ab5
23482
208ec8ca7c79 merge: make 'keep' message more descriptive
Martin von Zweigbergk <martinvonz@google.com>
parents: 22673
diff changeset
   200
   f1: remote unchanged -> k
21269
fa601c4e03f9 merge: make debug output slightly more helpful by including message for action
Mads Kiilerich <madski@unity3d.com>
parents: 21172
diff changeset
   201
   f2: versions differ -> m
21128
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   202
  
42196
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   203
  calculating bids for ancestor 40663881a6dd
21128
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   204
  resolving manifests
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   205
   branchmerge: True, force: False, partial: False
42196
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   206
   ancestor: 40663881a6dd, local: adfe50279922+, remote: 3b08d01b0ab5
23638
09be050ca98c merge: let bid merge work on the file->action dict
Martin von Zweigbergk <martinvonz@google.com>
parents: 23482
diff changeset
   207
   f1: versions differ -> m
21391
cb15835456cb merge: change debug logging - test output changes but no real changes
Mads Kiilerich <madski@unity3d.com>
parents: 21389
diff changeset
   208
   f2: remote is newer -> g
21128
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   209
  
45458
e7c8a5030a90 merge: show number of ancestors in bid merge debug notes
Pulkit Goyal <7895pulkit@gmail.com>
parents: 44272
diff changeset
   210
  auction for merging merge bids (2 ancestors)
45470
ccd3bf4490c1 merge: show list of bids for each file in bid-merge in ui.debug()
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45458
diff changeset
   211
   list of bids for f1:
ccd3bf4490c1 merge: show list of bids for each file in bid-merge in ui.debug()
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45458
diff changeset
   212
     remote unchanged -> k
ccd3bf4490c1 merge: show list of bids for each file in bid-merge in ui.debug()
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45458
diff changeset
   213
     versions differ -> m
21128
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   214
   f1: picking 'keep' action
45470
ccd3bf4490c1 merge: show list of bids for each file in bid-merge in ui.debug()
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45458
diff changeset
   215
   list of bids for f2:
ccd3bf4490c1 merge: show list of bids for each file in bid-merge in ui.debug()
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45458
diff changeset
   216
     remote is newer -> g
ccd3bf4490c1 merge: show list of bids for each file in bid-merge in ui.debug()
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45458
diff changeset
   217
     versions differ -> m
21128
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   218
   f2: picking 'get' action
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   219
  end of auction
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   220
  
21389
e741972017d9 merge: change priority / ordering of merge actions
Mads Kiilerich <madski@unity3d.com>
parents: 21269
diff changeset
   221
   f2: remote is newer -> g
21128
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   222
  getting f2
23482
208ec8ca7c79 merge: make 'keep' message more descriptive
Martin von Zweigbergk <martinvonz@google.com>
parents: 22673
diff changeset
   223
   f1: remote unchanged -> k
42196
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   224
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
21128
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   225
  (branch merge, don't forget to commit)
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   226
42196
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   227
  $ f --dump *
30855
72c36a2be2d6 tests: use 'f' in test-merge-criss-cross.t to prepare for recursive dumping
Mads Kiilerich <mads@kiilerich.com>
parents: 28065
diff changeset
   228
  f1:
72c36a2be2d6 tests: use 'f' in test-merge-criss-cross.t to prepare for recursive dumping
Mads Kiilerich <mads@kiilerich.com>
parents: 28065
diff changeset
   229
  >>>
21128
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   230
  5 second change
30855
72c36a2be2d6 tests: use 'f' in test-merge-criss-cross.t to prepare for recursive dumping
Mads Kiilerich <mads@kiilerich.com>
parents: 28065
diff changeset
   231
  <<<
72c36a2be2d6 tests: use 'f' in test-merge-criss-cross.t to prepare for recursive dumping
Mads Kiilerich <mads@kiilerich.com>
parents: 28065
diff changeset
   232
  f2:
72c36a2be2d6 tests: use 'f' in test-merge-criss-cross.t to prepare for recursive dumping
Mads Kiilerich <mads@kiilerich.com>
parents: 28065
diff changeset
   233
  >>>
21128
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   234
  6 second change
30855
72c36a2be2d6 tests: use 'f' in test-merge-criss-cross.t to prepare for recursive dumping
Mads Kiilerich <mads@kiilerich.com>
parents: 28065
diff changeset
   235
  <<<
21128
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   236
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   237
Verify how the output looks and and how verbose it is:
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   238
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   239
  $ hg up -qC
22672
19903277f035 merge: use bid merge by default (BC)
Mads Kiilerich <madski@unity3d.com>
parents: 22671
diff changeset
   240
  $ hg merge
42196
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   241
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
21128
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   242
  (branch merge, don't forget to commit)
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   243
28065
6b1fc09c699a update: change default destination to tipmost descendant (issue4673) (BC)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28011
diff changeset
   244
  $ hg up -qC tip
22672
19903277f035 merge: use bid merge by default (BC)
Mads Kiilerich <madski@unity3d.com>
parents: 22671
diff changeset
   245
  $ hg merge -v
42196
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   246
  note: merging 3b08d01b0ab5+ and adfe50279922 using bids from ancestors 0f6b37dbe527 and 40663881a6dd
21128
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   247
  
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   248
  calculating bids for ancestor 0f6b37dbe527
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   249
  resolving manifests
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   250
  
42196
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   251
  calculating bids for ancestor 40663881a6dd
21128
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   252
  resolving manifests
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   253
  
45458
e7c8a5030a90 merge: show number of ancestors in bid merge debug notes
Pulkit Goyal <7895pulkit@gmail.com>
parents: 44272
diff changeset
   254
  auction for merging merge bids (2 ancestors)
21128
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   255
   f1: picking 'get' action
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   256
   f2: picking 'keep' action
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   257
  end of auction
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   258
  
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   259
  getting f1
42196
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   260
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
21128
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   261
  (branch merge, don't forget to commit)
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   262
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   263
  $ hg up -qC
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   264
  $ hg merge -v --debug --config merge.preferancestor="*"
42196
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   265
  note: merging 3b08d01b0ab5+ and adfe50279922 using bids from ancestors 0f6b37dbe527 and 40663881a6dd
21128
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   266
  
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   267
  calculating bids for ancestor 0f6b37dbe527
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   268
  resolving manifests
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   269
   branchmerge: True, force: False, partial: False
42196
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   270
   ancestor: 0f6b37dbe527, local: 3b08d01b0ab5+, remote: adfe50279922
21269
fa601c4e03f9 merge: make debug output slightly more helpful by including message for action
Mads Kiilerich <madski@unity3d.com>
parents: 21172
diff changeset
   271
   f1: remote is newer -> g
fa601c4e03f9 merge: make debug output slightly more helpful by including message for action
Mads Kiilerich <madski@unity3d.com>
parents: 21172
diff changeset
   272
   f2: versions differ -> m
21128
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   273
  
42196
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   274
  calculating bids for ancestor 40663881a6dd
21128
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   275
  resolving manifests
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   276
   branchmerge: True, force: False, partial: False
42196
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   277
   ancestor: 40663881a6dd, local: 3b08d01b0ab5+, remote: adfe50279922
23638
09be050ca98c merge: let bid merge work on the file->action dict
Martin von Zweigbergk <martinvonz@google.com>
parents: 23482
diff changeset
   278
   f1: versions differ -> m
23482
208ec8ca7c79 merge: make 'keep' message more descriptive
Martin von Zweigbergk <martinvonz@google.com>
parents: 22673
diff changeset
   279
   f2: remote unchanged -> k
21128
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   280
  
45458
e7c8a5030a90 merge: show number of ancestors in bid merge debug notes
Pulkit Goyal <7895pulkit@gmail.com>
parents: 44272
diff changeset
   281
  auction for merging merge bids (2 ancestors)
45470
ccd3bf4490c1 merge: show list of bids for each file in bid-merge in ui.debug()
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45458
diff changeset
   282
   list of bids for f1:
ccd3bf4490c1 merge: show list of bids for each file in bid-merge in ui.debug()
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45458
diff changeset
   283
     remote is newer -> g
ccd3bf4490c1 merge: show list of bids for each file in bid-merge in ui.debug()
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45458
diff changeset
   284
     versions differ -> m
21128
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   285
   f1: picking 'get' action
45470
ccd3bf4490c1 merge: show list of bids for each file in bid-merge in ui.debug()
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45458
diff changeset
   286
   list of bids for f2:
ccd3bf4490c1 merge: show list of bids for each file in bid-merge in ui.debug()
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45458
diff changeset
   287
     remote unchanged -> k
ccd3bf4490c1 merge: show list of bids for each file in bid-merge in ui.debug()
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45458
diff changeset
   288
     versions differ -> m
21128
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   289
   f2: picking 'keep' action
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   290
  end of auction
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   291
  
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   292
   f1: remote is newer -> g
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   293
  getting f1
23482
208ec8ca7c79 merge: make 'keep' message more descriptive
Martin von Zweigbergk <martinvonz@google.com>
parents: 22673
diff changeset
   294
   f2: remote unchanged -> k
42196
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   295
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
21128
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   296
  (branch merge, don't forget to commit)
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   297
38625
52f19a840543 revset: add optimization for heads(commonancestors())
Sean Farley <sean@farley.io>
parents: 35704
diff changeset
   298
Test the greatest common ancestor returning multiple changesets
52f19a840543 revset: add optimization for heads(commonancestors())
Sean Farley <sean@farley.io>
parents: 35704
diff changeset
   299
52f19a840543 revset: add optimization for heads(commonancestors())
Sean Farley <sean@farley.io>
parents: 35704
diff changeset
   300
  $ hg log -r 'heads(commonancestors(head()))'
52f19a840543 revset: add optimization for heads(commonancestors())
Sean Farley <sean@farley.io>
parents: 35704
diff changeset
   301
  changeset:   1:0f6b37dbe527
52f19a840543 revset: add optimization for heads(commonancestors())
Sean Farley <sean@farley.io>
parents: 35704
diff changeset
   302
  user:        test
52f19a840543 revset: add optimization for heads(commonancestors())
Sean Farley <sean@farley.io>
parents: 35704
diff changeset
   303
  date:        Thu Jan 01 00:00:00 1970 +0000
52f19a840543 revset: add optimization for heads(commonancestors())
Sean Farley <sean@farley.io>
parents: 35704
diff changeset
   304
  summary:     1 first change f1
52f19a840543 revset: add optimization for heads(commonancestors())
Sean Farley <sean@farley.io>
parents: 35704
diff changeset
   305
  
42196
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   306
  changeset:   2:40663881a6dd
38625
52f19a840543 revset: add optimization for heads(commonancestors())
Sean Farley <sean@farley.io>
parents: 35704
diff changeset
   307
  parent:      0:40494bf2444c
52f19a840543 revset: add optimization for heads(commonancestors())
Sean Farley <sean@farley.io>
parents: 35704
diff changeset
   308
  user:        test
52f19a840543 revset: add optimization for heads(commonancestors())
Sean Farley <sean@farley.io>
parents: 35704
diff changeset
   309
  date:        Thu Jan 01 00:00:00 1970 +0000
52f19a840543 revset: add optimization for heads(commonancestors())
Sean Farley <sean@farley.io>
parents: 35704
diff changeset
   310
  summary:     2 first change f2
52f19a840543 revset: add optimization for heads(commonancestors())
Sean Farley <sean@farley.io>
parents: 35704
diff changeset
   311
  
52f19a840543 revset: add optimization for heads(commonancestors())
Sean Farley <sean@farley.io>
parents: 35704
diff changeset
   312
20636
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
   313
  $ cd ..
21169
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   314
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   315
http://stackoverflow.com/questions/9350005/how-do-i-specify-a-merge-base-to-use-in-a-hg-merge/9430810
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   316
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   317
  $ hg init ancestor-merging
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   318
  $ cd ancestor-merging
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   319
  $ echo a > x
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   320
  $ hg commit -A -m a x
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   321
  $ hg update -q 0
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   322
  $ echo b >> x
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   323
  $ hg commit -m b
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   324
  $ hg update -q 0
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   325
  $ echo c >> x
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   326
  $ hg commit -qm c
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   327
  $ hg update -q 1
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   328
  $ hg merge -q --tool internal:local 2
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   329
  $ echo c >> x
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   330
  $ hg commit -m bc
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   331
  $ hg update -q 2
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   332
  $ hg merge -q --tool internal:local 1
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   333
  $ echo b >> x
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   334
  $ hg commit -qm cb
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   335
22672
19903277f035 merge: use bid merge by default (BC)
Mads Kiilerich <madski@unity3d.com>
parents: 22671
diff changeset
   336
  $ hg merge --config merge.preferancestor='!'
21169
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   337
  note: using 70008a2163f6 as ancestor of 0d355fdef312 and 4b8b546a3eef
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   338
        alternatively, use --config merge.preferancestor=b211bbc6eb3c
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   339
  merging x
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   340
  0 files updated, 1 files merged, 0 files removed, 0 files unresolved
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   341
  (branch merge, don't forget to commit)
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   342
  $ cat x
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   343
  a
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   344
  c
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   345
  b
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   346
  c
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   347
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   348
  $ hg up -qC .
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   349
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   350
  $ hg merge --config merge.preferancestor=b211bbc6eb3c
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   351
  note: using b211bbc6eb3c as ancestor of 0d355fdef312 and 4b8b546a3eef
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   352
        alternatively, use --config merge.preferancestor=70008a2163f6
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   353
  merging x
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   354
  0 files updated, 1 files merged, 0 files removed, 0 files unresolved
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   355
  (branch merge, don't forget to commit)
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   356
  $ cat x
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   357
  a
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   358
  b
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   359
  c
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   360
  b
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   361
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   362
  $ hg up -qC .
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   363
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   364
  $ hg merge -v --config merge.preferancestor="*"
21171
33737ebc6f39 merge: tell the user when we are using bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21170
diff changeset
   365
  note: merging 0d355fdef312+ and 4b8b546a3eef using bids from ancestors 70008a2163f6 and b211bbc6eb3c
21169
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   366
  
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   367
  calculating bids for ancestor 70008a2163f6
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   368
  resolving manifests
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   369
  
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   370
  calculating bids for ancestor b211bbc6eb3c
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   371
  resolving manifests
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   372
  
45458
e7c8a5030a90 merge: show number of ancestors in bid merge debug notes
Pulkit Goyal <7895pulkit@gmail.com>
parents: 44272
diff changeset
   373
  auction for merging merge bids (2 ancestors)
21172
0f0059af920c merge: improve notes for listing the bids for ambiguous merges
Mads Kiilerich <madski@unity3d.com>
parents: 21171
diff changeset
   374
   x: multiple bids for merge action:
0f0059af920c merge: improve notes for listing the bids for ambiguous merges
Mads Kiilerich <madski@unity3d.com>
parents: 21171
diff changeset
   375
    versions differ -> m
0f0059af920c merge: improve notes for listing the bids for ambiguous merges
Mads Kiilerich <madski@unity3d.com>
parents: 21171
diff changeset
   376
    versions differ -> m
21170
ea3972243320 merge: fix stray character in bid merge message
Mads Kiilerich <madski@unity3d.com>
parents: 21169
diff changeset
   377
   x: ambiguous merge - picked m action
21169
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   378
  end of auction
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   379
  
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   380
  merging x
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   381
  0 files updated, 1 files merged, 0 files removed, 0 files unresolved
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   382
  (branch merge, don't forget to commit)
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   383
  $ cat x
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   384
  a
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   385
  c
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   386
  b
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   387
  c
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   388
22180
17011b36aac7 changectx: ancestor should only prefer merge.preferancestor if it is a revision
Mads Kiilerich <madski@unity3d.com>
parents: 22179
diff changeset
   389
Verify that the old context ancestor works with / despite preferancestor:
17011b36aac7 changectx: ancestor should only prefer merge.preferancestor if it is a revision
Mads Kiilerich <madski@unity3d.com>
parents: 22179
diff changeset
   390
17011b36aac7 changectx: ancestor should only prefer merge.preferancestor if it is a revision
Mads Kiilerich <madski@unity3d.com>
parents: 22179
diff changeset
   391
  $ hg log -r 'ancestor(head())' --config merge.preferancestor=1 -T '{rev}\n'
17011b36aac7 changectx: ancestor should only prefer merge.preferancestor if it is a revision
Mads Kiilerich <madski@unity3d.com>
parents: 22179
diff changeset
   392
  1
17011b36aac7 changectx: ancestor should only prefer merge.preferancestor if it is a revision
Mads Kiilerich <madski@unity3d.com>
parents: 22179
diff changeset
   393
  $ hg log -r 'ancestor(head())' --config merge.preferancestor=2 -T '{rev}\n'
17011b36aac7 changectx: ancestor should only prefer merge.preferancestor if it is a revision
Mads Kiilerich <madski@unity3d.com>
parents: 22179
diff changeset
   394
  2
17011b36aac7 changectx: ancestor should only prefer merge.preferancestor if it is a revision
Mads Kiilerich <madski@unity3d.com>
parents: 22179
diff changeset
   395
  $ hg log -r 'ancestor(head())' --config merge.preferancestor=3 -T '{rev}\n'
17011b36aac7 changectx: ancestor should only prefer merge.preferancestor if it is a revision
Mads Kiilerich <madski@unity3d.com>
parents: 22179
diff changeset
   396
  1
22671
5220c12c43fd changectx: skip all invalid merge.preferancestor values
Mads Kiilerich <madski@unity3d.com>
parents: 22180
diff changeset
   397
  $ hg log -r 'ancestor(head())' --config merge.preferancestor='1337 * - 2' -T '{rev}\n'
5220c12c43fd changectx: skip all invalid merge.preferancestor values
Mads Kiilerich <madski@unity3d.com>
parents: 22180
diff changeset
   398
  2
22180
17011b36aac7 changectx: ancestor should only prefer merge.preferancestor if it is a revision
Mads Kiilerich <madski@unity3d.com>
parents: 22179
diff changeset
   399
21169
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   400
  $ cd ..
42196
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   401
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   402
  $ hg init issue5020
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   403
  $ cd issue5020
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   404
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   405
  $ echo a > noop
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   406
  $ hg ci -qAm initial
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   407
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   408
  $ echo b > noop
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   409
  $ hg ci -qAm 'uninteresting change'
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   410
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   411
  $ hg up -q 0
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   412
  $ mkdir d1
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   413
  $ echo a > d1/a
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   414
  $ echo b > d1/b
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   415
  $ hg ci -qAm 'add d1/a and d1/b'
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   416
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   417
  $ hg merge -q 1
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   418
  $ hg rm d1/a
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   419
  $ hg mv -q d1 d2
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   420
  $ hg ci -qm 'merge while removing d1/a and moving d1/b to d2/b'
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   421
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   422
  $ hg up -q 1
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   423
  $ hg merge -q 2
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   424
  $ hg ci -qm 'merge (no changes while merging)'
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   425
  $ hg log -G -T '{rev}:{node|short} {desc}'
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   426
  @    4:c0ef19750a22 merge (no changes while merging)
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   427
  |\
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   428
  +---o  3:6ca01f7342b9 merge while removing d1/a and moving d1/b to d2/b
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   429
  | |/
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   430
  | o  2:154e6000f54e add d1/a and d1/b
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   431
  | |
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   432
  o |  1:11b5b303e36c uninteresting change
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   433
  |/
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   434
  o  0:7b54db1ebf33 initial
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   435
  
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   436
  $ hg merge 3 --debug
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   437
  note: merging c0ef19750a22+ and 6ca01f7342b9 using bids from ancestors 11b5b303e36c and 154e6000f54e
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   438
  
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   439
  calculating bids for ancestor 11b5b303e36c
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   440
  resolving manifests
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   441
   branchmerge: True, force: False, partial: False
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   442
   ancestor: 11b5b303e36c, local: c0ef19750a22+, remote: 6ca01f7342b9
45530
6877b0ee5f9d mergestate: introduce a new ACTION_KEEP_NEW
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45499
diff changeset
   443
   d1/a: ancestor missing, remote missing -> kn
6877b0ee5f9d mergestate: introduce a new ACTION_KEEP_NEW
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45499
diff changeset
   444
   d1/b: ancestor missing, remote missing -> kn
42204
31abb9d713af copies: don't include copies that are not in source in directory move
Martin von Zweigbergk <martinvonz@google.com>
parents: 42196
diff changeset
   445
   d2/b: remote created -> g
42196
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   446
  
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   447
  calculating bids for ancestor 154e6000f54e
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   448
    unmatched files in other:
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   449
     d2/b
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   450
    all copies found (* = to merge, ! = divergent, % = renamed and deleted):
44272
17e12938f8e7 copies: print debug information about copies per side/branch
Martin von Zweigbergk <martinvonz@google.com>
parents: 44242
diff changeset
   451
     on remote side:
17e12938f8e7 copies: print debug information about copies per side/branch
Martin von Zweigbergk <martinvonz@google.com>
parents: 44242
diff changeset
   452
      src: 'd1/b' -> dst: 'd2/b' 
42196
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   453
    checking for directory renames
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   454
     discovered dir src: 'd1/' -> dst: 'd2/'
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   455
  resolving manifests
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   456
   branchmerge: True, force: False, partial: False
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   457
   ancestor: 154e6000f54e, local: c0ef19750a22+, remote: 6ca01f7342b9
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   458
   d1/a: other deleted -> r
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   459
   d1/b: other deleted -> r
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   460
   d2/b: remote created -> g
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   461
  
45458
e7c8a5030a90 merge: show number of ancestors in bid merge debug notes
Pulkit Goyal <7895pulkit@gmail.com>
parents: 44272
diff changeset
   462
  auction for merging merge bids (2 ancestors)
45470
ccd3bf4490c1 merge: show list of bids for each file in bid-merge in ui.debug()
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45458
diff changeset
   463
   list of bids for d1/a:
45530
6877b0ee5f9d mergestate: introduce a new ACTION_KEEP_NEW
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45499
diff changeset
   464
     ancestor missing, remote missing -> kn
45470
ccd3bf4490c1 merge: show list of bids for each file in bid-merge in ui.debug()
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45458
diff changeset
   465
     other deleted -> r
45530
6877b0ee5f9d mergestate: introduce a new ACTION_KEEP_NEW
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45499
diff changeset
   466
   d1/a: picking 'keep new' action
45470
ccd3bf4490c1 merge: show list of bids for each file in bid-merge in ui.debug()
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45458
diff changeset
   467
   list of bids for d1/b:
45530
6877b0ee5f9d mergestate: introduce a new ACTION_KEEP_NEW
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45499
diff changeset
   468
     ancestor missing, remote missing -> kn
45470
ccd3bf4490c1 merge: show list of bids for each file in bid-merge in ui.debug()
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45458
diff changeset
   469
     other deleted -> r
45530
6877b0ee5f9d mergestate: introduce a new ACTION_KEEP_NEW
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45499
diff changeset
   470
   d1/b: picking 'keep new' action
45470
ccd3bf4490c1 merge: show list of bids for each file in bid-merge in ui.debug()
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45458
diff changeset
   471
   list of bids for d2/b:
ccd3bf4490c1 merge: show list of bids for each file in bid-merge in ui.debug()
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45458
diff changeset
   472
     remote created -> g
ccd3bf4490c1 merge: show list of bids for each file in bid-merge in ui.debug()
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45458
diff changeset
   473
     remote created -> g
42204
31abb9d713af copies: don't include copies that are not in source in directory move
Martin von Zweigbergk <martinvonz@google.com>
parents: 42196
diff changeset
   474
   d2/b: consensus for g
42196
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   475
  end of auction
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   476
  
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   477
   d2/b: remote created -> g
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   478
  getting d2/b
45530
6877b0ee5f9d mergestate: introduce a new ACTION_KEEP_NEW
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45499
diff changeset
   479
   d1/a: ancestor missing, remote missing -> kn
6877b0ee5f9d mergestate: introduce a new ACTION_KEEP_NEW
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45499
diff changeset
   480
   d1/b: ancestor missing, remote missing -> kn
45480
49ffaa4f65f6 merge: add missing ACTION_KEEP when both remote and ancestor are not present
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45479
diff changeset
   481
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
42196
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   482
  (branch merge, don't forget to commit)
45476
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   483
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   484
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   485
Check that removal reversion does not go unotified
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   486
==================================================
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   487
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   488
On a merge, a file can be removed and user can revert that removal. This means
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   489
user has made an explicit choice of keeping the file or reverting the removal
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   490
even though the merge algo wanted to remove it.
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   491
Based on this, when we do criss cross merges, merge algorithm should not again
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   492
choose to remove the file as in one of the merges, user made an explicit choice
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   493
to revert the removal.
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   494
Following test cases demonstrate how merge algo does not take in account
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   495
explicit choices made by users to revert the removal and on criss-cross merging
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   496
removes the file again.
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   497
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   498
"Simple" case where the filenode changes
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   499
----------------------------------------
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   500
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   501
  $ cd ..
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   502
  $ hg init criss-cross-merge-reversal-with-update
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   503
  $ cd criss-cross-merge-reversal-with-update
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   504
  $ echo the-file > the-file
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   505
  $ echo other-file > other-file
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   506
  $ hg add the-file other-file
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   507
  $ hg ci -m 'root-commit'
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   508
  $ echo foo >> the-file
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   509
  $ echo bar >> other-file
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   510
  $ hg ci -m 'updating-both-file'
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   511
  $ hg up 'desc("root-commit")'
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   512
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   513
  $ hg rm the-file
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   514
  $ hg ci -m 'delete-the-file'
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   515
  created new head
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   516
  $ hg log -G -T '{node|short} {desc}\n'
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   517
  @  7801bc9b9899 delete-the-file
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   518
  |
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   519
  | o  9b610631ab29 updating-both-file
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   520
  |/
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   521
  o  955800955977 root-commit
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   522
  
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   523
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   524
Do all the merge combination (from the deleted or the update side × keeping and deleting the file
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   525
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   526
  $ hg update 'desc("delete-the-file")'
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   527
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   528
  $ hg merge 'desc("updating-both-file")' -t :local
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   529
  1 files updated, 1 files merged, 0 files removed, 0 files unresolved
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   530
  (branch merge, don't forget to commit)
45585
463ca8af8c72 tests: add some debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45584
diff changeset
   531
  $ hg debugmergestate
463ca8af8c72 tests: add some debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45584
diff changeset
   532
  local (working copy): 7801bc9b9899de5e304bd162cafde9b78e10ab9b
463ca8af8c72 tests: add some debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45584
diff changeset
   533
  other (merge rev): 9b610631ab29024c5f44af7d2c19658ef8f8f071
463ca8af8c72 tests: add some debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45584
diff changeset
   534
  file: the-file (state "r")
463ca8af8c72 tests: add some debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45584
diff changeset
   535
    local path: the-file (hash 0000000000000000000000000000000000000000, flags "")
463ca8af8c72 tests: add some debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45584
diff changeset
   536
    ancestor path: the-file (node 4b69178b9bdae28b651393b46e631427a72f217a)
463ca8af8c72 tests: add some debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45584
diff changeset
   537
    other path: the-file (node 59e363a07dc876278f0e41756236f30213b6b460)
463ca8af8c72 tests: add some debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45584
diff changeset
   538
    extra: ancestorlinknode = 955800955977bd6c103836ee3e437276e940a589
45587
4c8a93ec6908 merge: store commitinfo if these is a dc or cd conflict
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45585
diff changeset
   539
    extra: merge-removal-candidate = yes
46811
5a0b930cfb3e commit: get info from mergestate whether a file was merged or not
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45622
diff changeset
   540
    extra: merged = yes
45585
463ca8af8c72 tests: add some debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45584
diff changeset
   541
  extra: other-file (filenode-source = other)
45476
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   542
  $ hg ci -m "merge-deleting-the-file-from-deleted"
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   543
  $ hg manifest
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   544
  other-file
45584
76b69f81629c tests: add few debugrevlogindex and a log call to see changes in next test
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45582
diff changeset
   545
  $ hg debugrevlogindex the-file
76b69f81629c tests: add few debugrevlogindex and a log call to see changes in next test
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45582
diff changeset
   546
     rev linkrev nodeid       p1           p2
76b69f81629c tests: add few debugrevlogindex and a log call to see changes in next test
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45582
diff changeset
   547
       0       0 4b69178b9bda 000000000000 000000000000
76b69f81629c tests: add few debugrevlogindex and a log call to see changes in next test
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45582
diff changeset
   548
       1       1 59e363a07dc8 4b69178b9bda 000000000000
45476
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   549
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   550
  $ hg update 'desc("updating-both-file")'
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   551
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   552
  $ hg merge 'desc("delete-the-file")' -t :other
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   553
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   554
  (branch merge, don't forget to commit)
45585
463ca8af8c72 tests: add some debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45584
diff changeset
   555
  $ hg debugmergestate
463ca8af8c72 tests: add some debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45584
diff changeset
   556
  local (working copy): 9b610631ab29024c5f44af7d2c19658ef8f8f071
463ca8af8c72 tests: add some debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45584
diff changeset
   557
  other (merge rev): 7801bc9b9899de5e304bd162cafde9b78e10ab9b
463ca8af8c72 tests: add some debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45584
diff changeset
   558
  file: the-file (state "r")
463ca8af8c72 tests: add some debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45584
diff changeset
   559
    local path: the-file (hash 6d2e02da5a9fe0691363dc6b573845fa271eaa35, flags "")
463ca8af8c72 tests: add some debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45584
diff changeset
   560
    ancestor path: the-file (node 4b69178b9bdae28b651393b46e631427a72f217a)
463ca8af8c72 tests: add some debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45584
diff changeset
   561
    other path: the-file (node 0000000000000000000000000000000000000000)
463ca8af8c72 tests: add some debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45584
diff changeset
   562
    extra: ancestorlinknode = 955800955977bd6c103836ee3e437276e940a589
45587
4c8a93ec6908 merge: store commitinfo if these is a dc or cd conflict
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45585
diff changeset
   563
    extra: merge-removal-candidate = yes
46811
5a0b930cfb3e commit: get info from mergestate whether a file was merged or not
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45622
diff changeset
   564
    extra: merged = yes
45476
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   565
  $ hg ci -m "merge-deleting-the-file-from-updated"
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   566
  created new head
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   567
  $ hg manifest
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   568
  other-file
45584
76b69f81629c tests: add few debugrevlogindex and a log call to see changes in next test
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45582
diff changeset
   569
  $ hg debugrevlogindex the-file
76b69f81629c tests: add few debugrevlogindex and a log call to see changes in next test
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45582
diff changeset
   570
     rev linkrev nodeid       p1           p2
76b69f81629c tests: add few debugrevlogindex and a log call to see changes in next test
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45582
diff changeset
   571
       0       0 4b69178b9bda 000000000000 000000000000
76b69f81629c tests: add few debugrevlogindex and a log call to see changes in next test
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45582
diff changeset
   572
       1       1 59e363a07dc8 4b69178b9bda 000000000000
45476
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   573
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   574
  $ hg update 'desc("delete-the-file")'
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   575
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   576
  $ hg merge 'desc("updating-both-file")' -t :other
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   577
  1 files updated, 1 files merged, 0 files removed, 0 files unresolved
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   578
  (branch merge, don't forget to commit)
45585
463ca8af8c72 tests: add some debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45584
diff changeset
   579
  $ hg debugmergestate
463ca8af8c72 tests: add some debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45584
diff changeset
   580
  local (working copy): 7801bc9b9899de5e304bd162cafde9b78e10ab9b
463ca8af8c72 tests: add some debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45584
diff changeset
   581
  other (merge rev): 9b610631ab29024c5f44af7d2c19658ef8f8f071
463ca8af8c72 tests: add some debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45584
diff changeset
   582
  file: the-file (state "r")
463ca8af8c72 tests: add some debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45584
diff changeset
   583
    local path: the-file (hash 0000000000000000000000000000000000000000, flags "")
463ca8af8c72 tests: add some debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45584
diff changeset
   584
    ancestor path: the-file (node 4b69178b9bdae28b651393b46e631427a72f217a)
463ca8af8c72 tests: add some debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45584
diff changeset
   585
    other path: the-file (node 59e363a07dc876278f0e41756236f30213b6b460)
463ca8af8c72 tests: add some debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45584
diff changeset
   586
    extra: ancestorlinknode = 955800955977bd6c103836ee3e437276e940a589
45587
4c8a93ec6908 merge: store commitinfo if these is a dc or cd conflict
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45585
diff changeset
   587
    extra: merge-removal-candidate = yes
46811
5a0b930cfb3e commit: get info from mergestate whether a file was merged or not
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45622
diff changeset
   588
    extra: merged = yes
45585
463ca8af8c72 tests: add some debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45584
diff changeset
   589
  extra: other-file (filenode-source = other)
45476
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   590
  $ hg ci -m "merge-keeping-the-file-from-deleted"
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   591
  created new head
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   592
  $ hg manifest
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   593
  other-file
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   594
  the-file
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   595
45584
76b69f81629c tests: add few debugrevlogindex and a log call to see changes in next test
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45582
diff changeset
   596
  $ hg debugrevlogindex the-file
76b69f81629c tests: add few debugrevlogindex and a log call to see changes in next test
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45582
diff changeset
   597
     rev linkrev nodeid       p1           p2
76b69f81629c tests: add few debugrevlogindex and a log call to see changes in next test
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45582
diff changeset
   598
       0       0 4b69178b9bda 000000000000 000000000000
76b69f81629c tests: add few debugrevlogindex and a log call to see changes in next test
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45582
diff changeset
   599
       1       1 59e363a07dc8 4b69178b9bda 000000000000
45588
479cce8c9882 commit: force create a new filenode if it was set in mergestate by merge
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45587
diff changeset
   600
       2       5 885af55420b3 59e363a07dc8 000000000000 (newfilenode !)
45584
76b69f81629c tests: add few debugrevlogindex and a log call to see changes in next test
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45582
diff changeset
   601
45476
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   602
  $ hg update 'desc("updating-both-file")'
45588
479cce8c9882 commit: force create a new filenode if it was set in mergestate by merge
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45587
diff changeset
   603
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved (newfilenode !)
479cce8c9882 commit: force create a new filenode if it was set in mergestate by merge
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45587
diff changeset
   604
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved (old !)
45476
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   605
  $ hg merge 'desc("delete-the-file")' -t :local
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   606
  0 files updated, 1 files merged, 0 files removed, 0 files unresolved
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   607
  (branch merge, don't forget to commit)
45585
463ca8af8c72 tests: add some debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45584
diff changeset
   608
  $ hg debugmergestate
463ca8af8c72 tests: add some debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45584
diff changeset
   609
  local (working copy): 9b610631ab29024c5f44af7d2c19658ef8f8f071
463ca8af8c72 tests: add some debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45584
diff changeset
   610
  other (merge rev): 7801bc9b9899de5e304bd162cafde9b78e10ab9b
463ca8af8c72 tests: add some debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45584
diff changeset
   611
  file: the-file (state "r")
463ca8af8c72 tests: add some debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45584
diff changeset
   612
    local path: the-file (hash 6d2e02da5a9fe0691363dc6b573845fa271eaa35, flags "")
463ca8af8c72 tests: add some debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45584
diff changeset
   613
    ancestor path: the-file (node 4b69178b9bdae28b651393b46e631427a72f217a)
463ca8af8c72 tests: add some debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45584
diff changeset
   614
    other path: the-file (node 0000000000000000000000000000000000000000)
463ca8af8c72 tests: add some debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45584
diff changeset
   615
    extra: ancestorlinknode = 955800955977bd6c103836ee3e437276e940a589
45587
4c8a93ec6908 merge: store commitinfo if these is a dc or cd conflict
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45585
diff changeset
   616
    extra: merge-removal-candidate = yes
46811
5a0b930cfb3e commit: get info from mergestate whether a file was merged or not
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45622
diff changeset
   617
    extra: merged = yes
45476
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   618
  $ hg ci -m "merge-keeping-the-file-from-updated"
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   619
  created new head
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   620
  $ hg manifest
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   621
  other-file
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   622
  the-file
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   623
45584
76b69f81629c tests: add few debugrevlogindex and a log call to see changes in next test
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45582
diff changeset
   624
XXX: This should create a new filenode because user explicitly decided to keep
76b69f81629c tests: add few debugrevlogindex and a log call to see changes in next test
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45582
diff changeset
   625
the file. If we reuse the same filenode, future merges (criss-cross ones mostly)
76b69f81629c tests: add few debugrevlogindex and a log call to see changes in next test
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45582
diff changeset
   626
will think that file remain unchanged and user explicit choice will not be taken
76b69f81629c tests: add few debugrevlogindex and a log call to see changes in next test
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45582
diff changeset
   627
in consideration.
76b69f81629c tests: add few debugrevlogindex and a log call to see changes in next test
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45582
diff changeset
   628
  $ hg debugrevlogindex the-file
76b69f81629c tests: add few debugrevlogindex and a log call to see changes in next test
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45582
diff changeset
   629
     rev linkrev nodeid       p1           p2
76b69f81629c tests: add few debugrevlogindex and a log call to see changes in next test
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45582
diff changeset
   630
       0       0 4b69178b9bda 000000000000 000000000000
76b69f81629c tests: add few debugrevlogindex and a log call to see changes in next test
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45582
diff changeset
   631
       1       1 59e363a07dc8 4b69178b9bda 000000000000
45588
479cce8c9882 commit: force create a new filenode if it was set in mergestate by merge
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45587
diff changeset
   632
       2       5 885af55420b3 59e363a07dc8 000000000000 (newfilenode !)
45584
76b69f81629c tests: add few debugrevlogindex and a log call to see changes in next test
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45582
diff changeset
   633
76b69f81629c tests: add few debugrevlogindex and a log call to see changes in next test
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45582
diff changeset
   634
  $ hg log -G -T '{node|short} {desc}\n'
76b69f81629c tests: add few debugrevlogindex and a log call to see changes in next test
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45582
diff changeset
   635
  @    5e3eccec60d8 merge-keeping-the-file-from-updated
76b69f81629c tests: add few debugrevlogindex and a log call to see changes in next test
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45582
diff changeset
   636
  |\
45588
479cce8c9882 commit: force create a new filenode if it was set in mergestate by merge
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45587
diff changeset
   637
  +---o  38a4c3e7cac8 merge-keeping-the-file-from-deleted (newfilenode !)
479cce8c9882 commit: force create a new filenode if it was set in mergestate by merge
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45587
diff changeset
   638
  +---o  e9b708131723 merge-keeping-the-file-from-deleted (old !)
45584
76b69f81629c tests: add few debugrevlogindex and a log call to see changes in next test
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45582
diff changeset
   639
  | |/
76b69f81629c tests: add few debugrevlogindex and a log call to see changes in next test
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45582
diff changeset
   640
  +---o  a4e0e44229dc merge-deleting-the-file-from-updated
76b69f81629c tests: add few debugrevlogindex and a log call to see changes in next test
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45582
diff changeset
   641
  | |/
76b69f81629c tests: add few debugrevlogindex and a log call to see changes in next test
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45582
diff changeset
   642
  +---o  adfd88e5d7d3 merge-deleting-the-file-from-deleted
76b69f81629c tests: add few debugrevlogindex and a log call to see changes in next test
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45582
diff changeset
   643
  | |/
76b69f81629c tests: add few debugrevlogindex and a log call to see changes in next test
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45582
diff changeset
   644
  | o  7801bc9b9899 delete-the-file
76b69f81629c tests: add few debugrevlogindex and a log call to see changes in next test
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45582
diff changeset
   645
  | |
76b69f81629c tests: add few debugrevlogindex and a log call to see changes in next test
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45582
diff changeset
   646
  o |  9b610631ab29 updating-both-file
76b69f81629c tests: add few debugrevlogindex and a log call to see changes in next test
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45582
diff changeset
   647
  |/
76b69f81629c tests: add few debugrevlogindex and a log call to see changes in next test
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45582
diff changeset
   648
  o  955800955977 root-commit
76b69f81629c tests: add few debugrevlogindex and a log call to see changes in next test
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45582
diff changeset
   649
  
76b69f81629c tests: add few debugrevlogindex and a log call to see changes in next test
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45582
diff changeset
   650
45476
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   651
There the resulting merge together (leading to criss cross situation). Check
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   652
the conflict is properly detected.
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   653
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   654
(merging two deletion together → no conflict)
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   655
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   656
  $ hg update --clean 'desc("merge-deleting-the-file-from-deleted")'
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   657
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   658
  $ hg merge          'desc("merge-deleting-the-file-from-updated")'
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   659
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   660
  (branch merge, don't forget to commit)
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   661
  $ ls -1
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   662
  other-file
45589
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45588
diff changeset
   663
  $ hg debugmergestate
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45588
diff changeset
   664
  no merge state found
45476
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   665
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   666
(merging a deletion with keeping → conflict)
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   667
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   668
  $ hg update --clean 'desc("merge-deleting-the-file-from-deleted")'
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   669
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
45620
ad984583969a merge: if DELETED_CHANGED and GET are in actions, choose DELETED_CHANGED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45590
diff changeset
   670
ad984583969a merge: if DELETED_CHANGED and GET are in actions, choose DELETED_CHANGED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45590
diff changeset
   671
#if newfilenode
45476
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   672
  $ hg merge          'desc("merge-keeping-the-file-from-deleted")'
45620
ad984583969a merge: if DELETED_CHANGED and GET are in actions, choose DELETED_CHANGED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45590
diff changeset
   673
  file 'the-file' was deleted in local [working copy] but was modified in other [merge rev].
45588
479cce8c9882 commit: force create a new filenode if it was set in mergestate by merge
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45587
diff changeset
   674
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved (old !)
45620
ad984583969a merge: if DELETED_CHANGED and GET are in actions, choose DELETED_CHANGED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45590
diff changeset
   675
  You can use (c)hanged version, leave (d)eleted, or leave (u)nresolved.
ad984583969a merge: if DELETED_CHANGED and GET are in actions, choose DELETED_CHANGED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45590
diff changeset
   676
  What do you want to do? u
ad984583969a merge: if DELETED_CHANGED and GET are in actions, choose DELETED_CHANGED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45590
diff changeset
   677
  0 files updated, 0 files merged, 0 files removed, 1 files unresolved
ad984583969a merge: if DELETED_CHANGED and GET are in actions, choose DELETED_CHANGED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45590
diff changeset
   678
  use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon
ad984583969a merge: if DELETED_CHANGED and GET are in actions, choose DELETED_CHANGED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45590
diff changeset
   679
  [1]
ad984583969a merge: if DELETED_CHANGED and GET are in actions, choose DELETED_CHANGED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45590
diff changeset
   680
#else
ad984583969a merge: if DELETED_CHANGED and GET are in actions, choose DELETED_CHANGED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45590
diff changeset
   681
  $ hg merge          'desc("merge-keeping-the-file-from-deleted")'
ad984583969a merge: if DELETED_CHANGED and GET are in actions, choose DELETED_CHANGED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45590
diff changeset
   682
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
45476
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   683
  (branch merge, don't forget to commit)
45620
ad984583969a merge: if DELETED_CHANGED and GET are in actions, choose DELETED_CHANGED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45590
diff changeset
   684
#endif
45476
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   685
  $ ls -1
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   686
  other-file
45588
479cce8c9882 commit: force create a new filenode if it was set in mergestate by merge
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45587
diff changeset
   687
  the-file (newfilenode !)
45476
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   688
45589
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45588
diff changeset
   689
#if newfilenode
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45588
diff changeset
   690
  $ hg debugmergestate
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45588
diff changeset
   691
  local (working copy): adfd88e5d7d3d3e22bdd26512991ee64d59c1d8f
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45588
diff changeset
   692
  other (merge rev): 38a4c3e7cac8c294ecb0a7a85a05464e9836ca78
45620
ad984583969a merge: if DELETED_CHANGED and GET are in actions, choose DELETED_CHANGED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45590
diff changeset
   693
  file: the-file (state "u")
ad984583969a merge: if DELETED_CHANGED and GET are in actions, choose DELETED_CHANGED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45590
diff changeset
   694
    local path: the-file (hash 0000000000000000000000000000000000000000, flags "")
ad984583969a merge: if DELETED_CHANGED and GET are in actions, choose DELETED_CHANGED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45590
diff changeset
   695
    ancestor path: the-file (node 59e363a07dc876278f0e41756236f30213b6b460)
ad984583969a merge: if DELETED_CHANGED and GET are in actions, choose DELETED_CHANGED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45590
diff changeset
   696
    other path: the-file (node 885af55420b35d7bf3bbd6f546615295bfe6544a)
ad984583969a merge: if DELETED_CHANGED and GET are in actions, choose DELETED_CHANGED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45590
diff changeset
   697
    extra: ancestorlinknode = 9b610631ab29024c5f44af7d2c19658ef8f8f071
ad984583969a merge: if DELETED_CHANGED and GET are in actions, choose DELETED_CHANGED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45590
diff changeset
   698
    extra: merge-removal-candidate = yes
46811
5a0b930cfb3e commit: get info from mergestate whether a file was merged or not
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45622
diff changeset
   699
    extra: merged = yes
45589
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45588
diff changeset
   700
#else
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45588
diff changeset
   701
  $ hg debugmergestate
45590
768412472663 merge: store cases when a file is absent post merge in commitinfo
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45589
diff changeset
   702
  local (working copy): adfd88e5d7d3d3e22bdd26512991ee64d59c1d8f
768412472663 merge: store cases when a file is absent post merge in commitinfo
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45589
diff changeset
   703
  other (merge rev): e9b7081317232edce73f7ad5ae0b7807ff5c326a
768412472663 merge: store cases when a file is absent post merge in commitinfo
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45589
diff changeset
   704
  extra: the-file (merge-removal-candidate = yes)
45589
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45588
diff changeset
   705
#endif
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45588
diff changeset
   706
45476
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   707
(merging a deletion with keeping → conflict)
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   708
BROKEN: this should result in conflict
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   709
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   710
  $ hg update --clean 'desc("merge-deleting-the-file-from-deleted")'
45588
479cce8c9882 commit: force create a new filenode if it was set in mergestate by merge
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45587
diff changeset
   711
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved (newfilenode !)
479cce8c9882 commit: force create a new filenode if it was set in mergestate by merge
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45587
diff changeset
   712
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved (old !)
45476
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   713
  $ hg merge          'desc("merge-keeping-the-file-from-updated")'
45479
09edbff6ae8d merge: store ACTION_KEEP_ABSENT when we are keeping the file absent locally
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45476
diff changeset
   714
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
45476
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   715
  (branch merge, don't forget to commit)
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   716
  $ ls -1
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   717
  other-file
45589
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45588
diff changeset
   718
  $ hg debugmergestate
45590
768412472663 merge: store cases when a file is absent post merge in commitinfo
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45589
diff changeset
   719
  local (working copy): adfd88e5d7d3d3e22bdd26512991ee64d59c1d8f
768412472663 merge: store cases when a file is absent post merge in commitinfo
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45589
diff changeset
   720
  other (merge rev): 5e3eccec60d88f94a7ba57c351f32cb24c15fe0c
768412472663 merge: store cases when a file is absent post merge in commitinfo
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45589
diff changeset
   721
  extra: the-file (merge-removal-candidate = yes)
45476
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   722
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   723
(merging two deletion together → no conflict)
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   724
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   725
  $ hg update --clean 'desc("merge-deleting-the-file-from-updated")'
45479
09edbff6ae8d merge: store ACTION_KEEP_ABSENT when we are keeping the file absent locally
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45476
diff changeset
   726
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
45476
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   727
  $ hg merge          'desc("merge-deleting-the-file-from-deleted")'
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   728
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   729
  (branch merge, don't forget to commit)
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   730
  $ ls -1
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   731
  other-file
45589
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45588
diff changeset
   732
  $ hg debugmergestate
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45588
diff changeset
   733
  no merge state found
45476
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   734
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   735
(merging a deletion with keeping → conflict)
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   736
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   737
  $ hg update --clean 'desc("merge-deleting-the-file-from-updated")'
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   738
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
45620
ad984583969a merge: if DELETED_CHANGED and GET are in actions, choose DELETED_CHANGED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45590
diff changeset
   739
ad984583969a merge: if DELETED_CHANGED and GET are in actions, choose DELETED_CHANGED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45590
diff changeset
   740
#if newfilenode
45476
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   741
  $ hg merge          'desc("merge-keeping-the-file-from-deleted")'
45620
ad984583969a merge: if DELETED_CHANGED and GET are in actions, choose DELETED_CHANGED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45590
diff changeset
   742
  file 'the-file' was deleted in local [working copy] but was modified in other [merge rev].
45588
479cce8c9882 commit: force create a new filenode if it was set in mergestate by merge
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45587
diff changeset
   743
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved (old !)
45620
ad984583969a merge: if DELETED_CHANGED and GET are in actions, choose DELETED_CHANGED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45590
diff changeset
   744
  You can use (c)hanged version, leave (d)eleted, or leave (u)nresolved.
ad984583969a merge: if DELETED_CHANGED and GET are in actions, choose DELETED_CHANGED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45590
diff changeset
   745
  What do you want to do? u
ad984583969a merge: if DELETED_CHANGED and GET are in actions, choose DELETED_CHANGED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45590
diff changeset
   746
  0 files updated, 0 files merged, 0 files removed, 1 files unresolved
ad984583969a merge: if DELETED_CHANGED and GET are in actions, choose DELETED_CHANGED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45590
diff changeset
   747
  use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon
ad984583969a merge: if DELETED_CHANGED and GET are in actions, choose DELETED_CHANGED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45590
diff changeset
   748
  [1]
ad984583969a merge: if DELETED_CHANGED and GET are in actions, choose DELETED_CHANGED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45590
diff changeset
   749
#else
ad984583969a merge: if DELETED_CHANGED and GET are in actions, choose DELETED_CHANGED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45590
diff changeset
   750
  $ hg merge          'desc("merge-keeping-the-file-from-deleted")'
ad984583969a merge: if DELETED_CHANGED and GET are in actions, choose DELETED_CHANGED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45590
diff changeset
   751
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
45476
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   752
  (branch merge, don't forget to commit)
45620
ad984583969a merge: if DELETED_CHANGED and GET are in actions, choose DELETED_CHANGED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45590
diff changeset
   753
#endif
ad984583969a merge: if DELETED_CHANGED and GET are in actions, choose DELETED_CHANGED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45590
diff changeset
   754
45476
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   755
  $ ls -1
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   756
  other-file
45588
479cce8c9882 commit: force create a new filenode if it was set in mergestate by merge
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45587
diff changeset
   757
  the-file (newfilenode !)
45589
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45588
diff changeset
   758
#if newfilenode
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45588
diff changeset
   759
  $ hg debugmergestate
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45588
diff changeset
   760
  local (working copy): a4e0e44229dc130be2915b92c957c093f8c7ee3e
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45588
diff changeset
   761
  other (merge rev): 38a4c3e7cac8c294ecb0a7a85a05464e9836ca78
45620
ad984583969a merge: if DELETED_CHANGED and GET are in actions, choose DELETED_CHANGED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45590
diff changeset
   762
  file: the-file (state "u")
ad984583969a merge: if DELETED_CHANGED and GET are in actions, choose DELETED_CHANGED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45590
diff changeset
   763
    local path: the-file (hash 0000000000000000000000000000000000000000, flags "")
ad984583969a merge: if DELETED_CHANGED and GET are in actions, choose DELETED_CHANGED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45590
diff changeset
   764
    ancestor path: the-file (node 59e363a07dc876278f0e41756236f30213b6b460)
ad984583969a merge: if DELETED_CHANGED and GET are in actions, choose DELETED_CHANGED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45590
diff changeset
   765
    other path: the-file (node 885af55420b35d7bf3bbd6f546615295bfe6544a)
ad984583969a merge: if DELETED_CHANGED and GET are in actions, choose DELETED_CHANGED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45590
diff changeset
   766
    extra: ancestorlinknode = 9b610631ab29024c5f44af7d2c19658ef8f8f071
ad984583969a merge: if DELETED_CHANGED and GET are in actions, choose DELETED_CHANGED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45590
diff changeset
   767
    extra: merge-removal-candidate = yes
46811
5a0b930cfb3e commit: get info from mergestate whether a file was merged or not
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45622
diff changeset
   768
    extra: merged = yes
45589
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45588
diff changeset
   769
#else
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45588
diff changeset
   770
  $ hg debugmergestate
45590
768412472663 merge: store cases when a file is absent post merge in commitinfo
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45589
diff changeset
   771
  local (working copy): a4e0e44229dc130be2915b92c957c093f8c7ee3e
768412472663 merge: store cases when a file is absent post merge in commitinfo
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45589
diff changeset
   772
  other (merge rev): e9b7081317232edce73f7ad5ae0b7807ff5c326a
768412472663 merge: store cases when a file is absent post merge in commitinfo
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45589
diff changeset
   773
  extra: the-file (merge-removal-candidate = yes)
45589
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45588
diff changeset
   774
#endif
45476
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   775
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   776
(merging a deletion with keeping → conflict)
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   777
BROKEN: this should result in conflict
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   778
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   779
  $ hg update --clean 'desc("merge-deleting-the-file-from-updated")'
45588
479cce8c9882 commit: force create a new filenode if it was set in mergestate by merge
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45587
diff changeset
   780
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved (newfilenode !)
479cce8c9882 commit: force create a new filenode if it was set in mergestate by merge
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45587
diff changeset
   781
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved (old !)
45476
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   782
  $ hg merge          'desc("merge-keeping-the-file-from-updated")'
45479
09edbff6ae8d merge: store ACTION_KEEP_ABSENT when we are keeping the file absent locally
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45476
diff changeset
   783
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
45476
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   784
  (branch merge, don't forget to commit)
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   785
  $ ls -1
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   786
  other-file
45589
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45588
diff changeset
   787
  $ hg debugmergestate
45590
768412472663 merge: store cases when a file is absent post merge in commitinfo
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45589
diff changeset
   788
  local (working copy): a4e0e44229dc130be2915b92c957c093f8c7ee3e
768412472663 merge: store cases when a file is absent post merge in commitinfo
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45589
diff changeset
   789
  other (merge rev): 5e3eccec60d88f94a7ba57c351f32cb24c15fe0c
768412472663 merge: store cases when a file is absent post merge in commitinfo
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45589
diff changeset
   790
  extra: the-file (merge-removal-candidate = yes)
45476
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   791
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   792
(merging two "keeping" together → no conflict)
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   793
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   794
  $ hg update --clean 'desc("merge-keeping-the-file-from-updated")'
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   795
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   796
  $ hg merge          'desc("merge-keeping-the-file-from-deleted")'
45588
479cce8c9882 commit: force create a new filenode if it was set in mergestate by merge
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45587
diff changeset
   797
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved (newfilenode !)
479cce8c9882 commit: force create a new filenode if it was set in mergestate by merge
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45587
diff changeset
   798
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved (old !)
45476
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   799
  (branch merge, don't forget to commit)
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   800
  $ ls -1
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   801
  other-file
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   802
  the-file
45589
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45588
diff changeset
   803
#if newfilenode
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45588
diff changeset
   804
  $ hg debugmergestate
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45588
diff changeset
   805
  local (working copy): 5e3eccec60d88f94a7ba57c351f32cb24c15fe0c
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45588
diff changeset
   806
  other (merge rev): 38a4c3e7cac8c294ecb0a7a85a05464e9836ca78
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45588
diff changeset
   807
  extra: the-file (filenode-source = other)
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45588
diff changeset
   808
#else
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45588
diff changeset
   809
  $ hg debugmergestate
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45588
diff changeset
   810
  no merge state found
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45588
diff changeset
   811
#endif
45476
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   812
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   813
(merging a deletion with keeping → conflict)
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   814
BROKEN: this should result in conflict
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   815
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   816
  $ hg update --clean 'desc("merge-keeping-the-file-from-updated")'
45588
479cce8c9882 commit: force create a new filenode if it was set in mergestate by merge
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45587
diff changeset
   817
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved (newfilenode !)
479cce8c9882 commit: force create a new filenode if it was set in mergestate by merge
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45587
diff changeset
   818
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved (old !)
45621
29c1d2401823 tests: fix a typo in `desc()` revset in test-merge-criss-cross.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45620
diff changeset
   819
  $ hg merge          'desc("merge-deleting-the-file-from-deleted")'
29c1d2401823 tests: fix a typo in `desc()` revset in test-merge-criss-cross.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45620
diff changeset
   820
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
29c1d2401823 tests: fix a typo in `desc()` revset in test-merge-criss-cross.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45620
diff changeset
   821
  (branch merge, don't forget to commit)
45476
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   822
  $ ls -1
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   823
  other-file
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   824
  the-file
45589
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45588
diff changeset
   825
  $ hg debugmergestate
45621
29c1d2401823 tests: fix a typo in `desc()` revset in test-merge-criss-cross.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45620
diff changeset
   826
  local (working copy): 5e3eccec60d88f94a7ba57c351f32cb24c15fe0c
29c1d2401823 tests: fix a typo in `desc()` revset in test-merge-criss-cross.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45620
diff changeset
   827
  other (merge rev): adfd88e5d7d3d3e22bdd26512991ee64d59c1d8f
29c1d2401823 tests: fix a typo in `desc()` revset in test-merge-criss-cross.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45620
diff changeset
   828
  extra: the-file (merge-removal-candidate = yes)
45476
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   829
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   830
(merging a deletion with keeping → conflict)
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   831
BROKEN: this should result in conflict
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   832
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   833
  $ hg update --clean 'desc("merge-keeping-the-file-from-updated")'
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   834
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   835
  $ hg merge          'desc("merge-deleting-the-file-from-updated")'
45480
49ffaa4f65f6 merge: add missing ACTION_KEEP when both remote and ancestor are not present
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45479
diff changeset
   836
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
45476
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   837
  (branch merge, don't forget to commit)
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   838
  $ ls -1
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   839
  other-file
45480
49ffaa4f65f6 merge: add missing ACTION_KEEP when both remote and ancestor are not present
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45479
diff changeset
   840
  the-file
45589
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45588
diff changeset
   841
  $ hg debugmergestate
45590
768412472663 merge: store cases when a file is absent post merge in commitinfo
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45589
diff changeset
   842
  local (working copy): 5e3eccec60d88f94a7ba57c351f32cb24c15fe0c
768412472663 merge: store cases when a file is absent post merge in commitinfo
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45589
diff changeset
   843
  other (merge rev): a4e0e44229dc130be2915b92c957c093f8c7ee3e
768412472663 merge: store cases when a file is absent post merge in commitinfo
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45589
diff changeset
   844
  extra: the-file (merge-removal-candidate = yes)
45476
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   845
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   846
(merging two "keeping" together → no conflict)
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   847
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   848
  $ hg update --clean 'desc("merge-keeping-the-file-from-deleted")'
45588
479cce8c9882 commit: force create a new filenode if it was set in mergestate by merge
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45587
diff changeset
   849
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved (newfilenode !)
479cce8c9882 commit: force create a new filenode if it was set in mergestate by merge
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45587
diff changeset
   850
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved (old !)
45476
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   851
  $ hg merge          'desc("merge-keeping-the-file-from-updated")'
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   852
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   853
  (branch merge, don't forget to commit)
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   854
  $ ls -1
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   855
  other-file
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   856
  the-file
45589
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45588
diff changeset
   857
  $ hg debugmergestate
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45588
diff changeset
   858
  no merge state found
45476
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   859
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   860
(merging a deletion with keeping → conflict)
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   861
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   862
  $ hg update --clean 'desc("merge-keeping-the-file-from-deleted")'
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   863
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
45622
e8078af6af30 merge: if CHANGED_DELETED and KEEP_NEW are actions, choose CHANGED_DELETED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45621
diff changeset
   864
#if newfilenode
e8078af6af30 merge: if CHANGED_DELETED and KEEP_NEW are actions, choose CHANGED_DELETED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45621
diff changeset
   865
  $ hg merge          'desc("merge-deleting-the-file-from-deleted")'
e8078af6af30 merge: if CHANGED_DELETED and KEEP_NEW are actions, choose CHANGED_DELETED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45621
diff changeset
   866
  file 'the-file' was deleted in other [merge rev] but was modified in local [working copy].
e8078af6af30 merge: if CHANGED_DELETED and KEEP_NEW are actions, choose CHANGED_DELETED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45621
diff changeset
   867
  You can use (c)hanged version, (d)elete, or leave (u)nresolved.
e8078af6af30 merge: if CHANGED_DELETED and KEEP_NEW are actions, choose CHANGED_DELETED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45621
diff changeset
   868
  What do you want to do? u
e8078af6af30 merge: if CHANGED_DELETED and KEEP_NEW are actions, choose CHANGED_DELETED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45621
diff changeset
   869
  0 files updated, 0 files merged, 0 files removed, 1 files unresolved
e8078af6af30 merge: if CHANGED_DELETED and KEEP_NEW are actions, choose CHANGED_DELETED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45621
diff changeset
   870
  use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon
e8078af6af30 merge: if CHANGED_DELETED and KEEP_NEW are actions, choose CHANGED_DELETED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45621
diff changeset
   871
  [1]
e8078af6af30 merge: if CHANGED_DELETED and KEEP_NEW are actions, choose CHANGED_DELETED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45621
diff changeset
   872
#else
45621
29c1d2401823 tests: fix a typo in `desc()` revset in test-merge-criss-cross.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45620
diff changeset
   873
  $ hg merge          'desc("merge-deleting-the-file-from-deleted")'
29c1d2401823 tests: fix a typo in `desc()` revset in test-merge-criss-cross.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45620
diff changeset
   874
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
29c1d2401823 tests: fix a typo in `desc()` revset in test-merge-criss-cross.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45620
diff changeset
   875
  (branch merge, don't forget to commit)
45622
e8078af6af30 merge: if CHANGED_DELETED and KEEP_NEW are actions, choose CHANGED_DELETED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45621
diff changeset
   876
#endif
45476
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   877
  $ ls -1
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   878
  other-file
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   879
  the-file
45622
e8078af6af30 merge: if CHANGED_DELETED and KEEP_NEW are actions, choose CHANGED_DELETED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45621
diff changeset
   880
e8078af6af30 merge: if CHANGED_DELETED and KEEP_NEW are actions, choose CHANGED_DELETED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45621
diff changeset
   881
#if newfilenode
45589
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45588
diff changeset
   882
  $ hg debugmergestate
45621
29c1d2401823 tests: fix a typo in `desc()` revset in test-merge-criss-cross.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45620
diff changeset
   883
  local (working copy): 38a4c3e7cac8c294ecb0a7a85a05464e9836ca78 (newfilenode !)
29c1d2401823 tests: fix a typo in `desc()` revset in test-merge-criss-cross.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45620
diff changeset
   884
  local (working copy): e9b7081317232edce73f7ad5ae0b7807ff5c326a (old !)
29c1d2401823 tests: fix a typo in `desc()` revset in test-merge-criss-cross.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45620
diff changeset
   885
  other (merge rev): adfd88e5d7d3d3e22bdd26512991ee64d59c1d8f
45622
e8078af6af30 merge: if CHANGED_DELETED and KEEP_NEW are actions, choose CHANGED_DELETED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45621
diff changeset
   886
  file: the-file (state "u")
e8078af6af30 merge: if CHANGED_DELETED and KEEP_NEW are actions, choose CHANGED_DELETED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45621
diff changeset
   887
    local path: the-file (hash 6d2e02da5a9fe0691363dc6b573845fa271eaa35, flags "")
e8078af6af30 merge: if CHANGED_DELETED and KEEP_NEW are actions, choose CHANGED_DELETED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45621
diff changeset
   888
    ancestor path: the-file (node 59e363a07dc876278f0e41756236f30213b6b460)
e8078af6af30 merge: if CHANGED_DELETED and KEEP_NEW are actions, choose CHANGED_DELETED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45621
diff changeset
   889
    other path: the-file (node 0000000000000000000000000000000000000000)
e8078af6af30 merge: if CHANGED_DELETED and KEEP_NEW are actions, choose CHANGED_DELETED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45621
diff changeset
   890
    extra: ancestorlinknode = 9b610631ab29024c5f44af7d2c19658ef8f8f071
e8078af6af30 merge: if CHANGED_DELETED and KEEP_NEW are actions, choose CHANGED_DELETED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45621
diff changeset
   891
    extra: merge-removal-candidate = yes
46811
5a0b930cfb3e commit: get info from mergestate whether a file was merged or not
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45622
diff changeset
   892
    extra: merged = yes
45622
e8078af6af30 merge: if CHANGED_DELETED and KEEP_NEW are actions, choose CHANGED_DELETED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45621
diff changeset
   893
#else
e8078af6af30 merge: if CHANGED_DELETED and KEEP_NEW are actions, choose CHANGED_DELETED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45621
diff changeset
   894
  $ hg debugmergestate
e8078af6af30 merge: if CHANGED_DELETED and KEEP_NEW are actions, choose CHANGED_DELETED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45621
diff changeset
   895
  local (working copy): e9b7081317232edce73f7ad5ae0b7807ff5c326a
e8078af6af30 merge: if CHANGED_DELETED and KEEP_NEW are actions, choose CHANGED_DELETED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45621
diff changeset
   896
  other (merge rev): adfd88e5d7d3d3e22bdd26512991ee64d59c1d8f
45621
29c1d2401823 tests: fix a typo in `desc()` revset in test-merge-criss-cross.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45620
diff changeset
   897
  extra: the-file (merge-removal-candidate = yes)
45622
e8078af6af30 merge: if CHANGED_DELETED and KEEP_NEW are actions, choose CHANGED_DELETED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45621
diff changeset
   898
#endif
45476
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   899
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   900
(merging a deletion with keeping → conflict)
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   901
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   902
  $ hg update --clean 'desc("merge-keeping-the-file-from-deleted")'
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   903
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
45622
e8078af6af30 merge: if CHANGED_DELETED and KEEP_NEW are actions, choose CHANGED_DELETED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45621
diff changeset
   904
#if newfilenode
e8078af6af30 merge: if CHANGED_DELETED and KEEP_NEW are actions, choose CHANGED_DELETED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45621
diff changeset
   905
  $ hg merge          'desc("merge-deleting-the-file-from-updated")'
e8078af6af30 merge: if CHANGED_DELETED and KEEP_NEW are actions, choose CHANGED_DELETED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45621
diff changeset
   906
  file 'the-file' was deleted in other [merge rev] but was modified in local [working copy].
e8078af6af30 merge: if CHANGED_DELETED and KEEP_NEW are actions, choose CHANGED_DELETED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45621
diff changeset
   907
  You can use (c)hanged version, (d)elete, or leave (u)nresolved.
e8078af6af30 merge: if CHANGED_DELETED and KEEP_NEW are actions, choose CHANGED_DELETED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45621
diff changeset
   908
  What do you want to do? u
e8078af6af30 merge: if CHANGED_DELETED and KEEP_NEW are actions, choose CHANGED_DELETED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45621
diff changeset
   909
  0 files updated, 0 files merged, 0 files removed, 1 files unresolved
e8078af6af30 merge: if CHANGED_DELETED and KEEP_NEW are actions, choose CHANGED_DELETED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45621
diff changeset
   910
  use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon
e8078af6af30 merge: if CHANGED_DELETED and KEEP_NEW are actions, choose CHANGED_DELETED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45621
diff changeset
   911
  [1]
e8078af6af30 merge: if CHANGED_DELETED and KEEP_NEW are actions, choose CHANGED_DELETED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45621
diff changeset
   912
#else
45476
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   913
  $ hg merge          'desc("merge-deleting-the-file-from-updated")'
45480
49ffaa4f65f6 merge: add missing ACTION_KEEP when both remote and ancestor are not present
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45479
diff changeset
   914
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
45476
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   915
  (branch merge, don't forget to commit)
45622
e8078af6af30 merge: if CHANGED_DELETED and KEEP_NEW are actions, choose CHANGED_DELETED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45621
diff changeset
   916
#endif
45476
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   917
  $ ls -1
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45470
diff changeset
   918
  other-file
45480
49ffaa4f65f6 merge: add missing ACTION_KEEP when both remote and ancestor are not present
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45479
diff changeset
   919
  the-file
45589
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45588
diff changeset
   920
#if newfilenode
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45588
diff changeset
   921
  $ hg debugmergestate
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45588
diff changeset
   922
  local (working copy): 38a4c3e7cac8c294ecb0a7a85a05464e9836ca78
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45588
diff changeset
   923
  other (merge rev): a4e0e44229dc130be2915b92c957c093f8c7ee3e
45622
e8078af6af30 merge: if CHANGED_DELETED and KEEP_NEW are actions, choose CHANGED_DELETED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45621
diff changeset
   924
  file: the-file (state "u")
e8078af6af30 merge: if CHANGED_DELETED and KEEP_NEW are actions, choose CHANGED_DELETED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45621
diff changeset
   925
    local path: the-file (hash 6d2e02da5a9fe0691363dc6b573845fa271eaa35, flags "")
e8078af6af30 merge: if CHANGED_DELETED and KEEP_NEW are actions, choose CHANGED_DELETED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45621
diff changeset
   926
    ancestor path: the-file (node 59e363a07dc876278f0e41756236f30213b6b460)
e8078af6af30 merge: if CHANGED_DELETED and KEEP_NEW are actions, choose CHANGED_DELETED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45621
diff changeset
   927
    other path: the-file (node 0000000000000000000000000000000000000000)
e8078af6af30 merge: if CHANGED_DELETED and KEEP_NEW are actions, choose CHANGED_DELETED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45621
diff changeset
   928
    extra: ancestorlinknode = 9b610631ab29024c5f44af7d2c19658ef8f8f071
e8078af6af30 merge: if CHANGED_DELETED and KEEP_NEW are actions, choose CHANGED_DELETED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45621
diff changeset
   929
    extra: merge-removal-candidate = yes
46811
5a0b930cfb3e commit: get info from mergestate whether a file was merged or not
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45622
diff changeset
   930
    extra: merged = yes
45589
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45588
diff changeset
   931
#else
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45588
diff changeset
   932
  $ hg debugmergestate
45590
768412472663 merge: store cases when a file is absent post merge in commitinfo
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45589
diff changeset
   933
  local (working copy): e9b7081317232edce73f7ad5ae0b7807ff5c326a
768412472663 merge: store cases when a file is absent post merge in commitinfo
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45589
diff changeset
   934
  other (merge rev): a4e0e44229dc130be2915b92c957c093f8c7ee3e
768412472663 merge: store cases when a file is absent post merge in commitinfo
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45589
diff changeset
   935
  extra: the-file (merge-removal-candidate = yes)
45589
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45588
diff changeset
   936
#endif