tests/test-merge-criss-cross.t
author Joerg Sonnenberger <joerg@bec.de>
Fri, 15 Jan 2021 01:30:08 +0100
changeset 46370 cad17d50736c
parent 45619 e8078af6af30
child 46811 5a0b930cfb3e
permissions -rw-r--r--
changelog: move branchinfo to changelogrevision The function parses the extra dictionary after looking up the changelogrevision. To avoid duplicated look up, it is better to provide it as property of changelogrevision instead. Keep the function for a release cycle as at least the topic extension depends on it. Differential Revision: https://phab.mercurial-scm.org/D9779
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
45579
b9d6ab6cdeb4 configitems: add a new config option to control new filenode functionality
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45524
diff changeset
     1
#testcases old newfilenode
b9d6ab6cdeb4 configitems: add a new config option to control new filenode functionality
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45524
diff changeset
     2
b9d6ab6cdeb4 configitems: add a new config option to control new filenode functionality
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45524
diff changeset
     3
#if newfilenode
b9d6ab6cdeb4 configitems: add a new config option to control new filenode functionality
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45524
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: 45524
diff changeset
     5
------------------------
b9d6ab6cdeb4 configitems: add a new config option to control new filenode functionality
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45524
diff changeset
     6
b9d6ab6cdeb4 configitems: add a new config option to control new filenode functionality
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45524
diff changeset
     7
  $ cat >> $HGRCPATH <<EOF
b9d6ab6cdeb4 configitems: add a new config option to control new filenode functionality
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45524
diff changeset
     8
  > [experimental]
b9d6ab6cdeb4 configitems: add a new config option to control new filenode functionality
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45524
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: 45524
diff changeset
    10
  > EOF
b9d6ab6cdeb4 configitems: add a new config option to control new filenode functionality
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45524
diff changeset
    11
#endif
b9d6ab6cdeb4 configitems: add a new config option to control new filenode functionality
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45524
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
42154
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
42154
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
42154
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
  |
42154
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
  | |
42154
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
  | | |
42154
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
  | |
42154
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='!'
42154
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
42154
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
45488
c4f14db3da1d merge: move initial handling of mergeactions near to later one
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45469
diff changeset
    95
   preserving f2 for resolve of f2
26618
8e6d5b7317e6 merge.mergestate: perform all premerges before any merges (BC)
Siddharth Agarwal <sid0@fb.com>
parents: 26611
diff changeset
    96
   f2: versions differ -> m (premerge)
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
42154
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
26618
8e6d5b7317e6 merge.mergestate: perform all premerges before any merges (BC)
Siddharth Agarwal <sid0@fb.com>
parents: 26611
diff changeset
   100
   f2: versions differ -> m (merge)
27161
296d55def9c4 filemerge: add debug output for whether this is a change/delete conflict
Siddharth Agarwal <sid0@fb.com>
parents: 26618
diff changeset
   101
  picked tool ':dump' for f2 (binary False symlink False changedelete False)
42154
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   102
  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
   103
  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: 35393
diff changeset
   104
  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
   105
  [1]
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
   106
42154
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   107
  $ 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
   108
  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
   109
  >>>
20636
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
   110
  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
   111
  <<<
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
  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
   113
  >>>
20636
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
   114
  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
   115
  <<<
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
  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
   117
  >>>
20636
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
   118
  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
   119
  <<<
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
  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
   121
  >>>
20636
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
   122
  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
   123
  <<<
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
  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
   125
  >>>
20636
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
   126
  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
   127
  <<<
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
  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
   129
  >>>
20636
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
   130
  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
   131
  <<<
20636
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
   132
21126
99b5eaf372a7 context: introduce merge.preferancestor for controlling which ancestor to pick
Mads Kiilerich <madski@unity3d.com>
parents: 21125
diff changeset
   133
  $ hg up -qC .
99b5eaf372a7 context: introduce merge.preferancestor for controlling which ancestor to pick
Mads Kiilerich <madski@unity3d.com>
parents: 21125
diff changeset
   134
  $ hg merge -v --tool internal:dump 5 --config merge.preferancestor="null 40663881 3b08d"
42154
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   135
  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
   136
        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
   137
  resolving manifests
42154
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   138
  merging f1
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   139
  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: 35393
diff changeset
   140
  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
   141
  [1]
99b5eaf372a7 context: introduce merge.preferancestor for controlling which ancestor to pick
Mads Kiilerich <madski@unity3d.com>
parents: 21125
diff changeset
   142
21128
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   143
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
   144
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   145
  $ rm f*
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   146
  $ hg up -qC .
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   147
  $ hg merge -v --debug --tool internal:dump 5 --config merge.preferancestor="*"
42154
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   148
  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
   149
  
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   150
  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
   151
  resolving manifests
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   152
   branchmerge: True, force: False, partial: False
42154
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   153
   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
   154
   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
   155
   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
   156
  
42154
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   157
  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
   158
  resolving manifests
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   159
   branchmerge: True, force: False, partial: False
42154
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   160
   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
   161
   f1: versions differ -> m
23482
208ec8ca7c79 merge: make 'keep' message more descriptive
Martin von Zweigbergk <martinvonz@google.com>
parents: 22673
diff changeset
   162
   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
   163
  
45447
e7c8a5030a90 merge: show number of ancestors in bid merge debug notes
Pulkit Goyal <7895pulkit@gmail.com>
parents: 44197
diff changeset
   164
  auction for merging merge bids (2 ancestors)
45459
ccd3bf4490c1 merge: show list of bids for each file in bid-merge in ui.debug()
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45447
diff changeset
   165
   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: 45447
diff changeset
   166
     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: 45447
diff changeset
   167
     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
   168
   f1: picking 'get' action
45459
ccd3bf4490c1 merge: show list of bids for each file in bid-merge in ui.debug()
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45447
diff changeset
   169
   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: 45447
diff changeset
   170
     remote unchanged -> k
ccd3bf4490c1 merge: show list of bids for each file in bid-merge in ui.debug()
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45447
diff changeset
   171
     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
   172
   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
   173
  end of auction
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   174
  
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   175
   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
   176
  getting f1
23482
208ec8ca7c79 merge: make 'keep' message more descriptive
Martin von Zweigbergk <martinvonz@google.com>
parents: 22673
diff changeset
   177
   f2: remote unchanged -> k
42154
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   178
  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
   179
  (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
   180
42154
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   181
  $ 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
   182
  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
   183
  >>>
21128
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   184
  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
   185
  <<<
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
  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
   187
  >>>
21128
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   188
  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
   189
  <<<
21128
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
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   192
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
   193
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   194
  $ hg up -C -r5
42154
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   195
  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
   196
  $ hg merge -v --debug --config merge.preferancestor="*"
42154
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   197
  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
   198
  
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   199
  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
   200
  resolving manifests
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   201
   branchmerge: True, force: False, partial: False
42154
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   202
   ancestor: 0f6b37dbe527, local: adfe50279922+, remote: 3b08d01b0ab5
23482
208ec8ca7c79 merge: make 'keep' message more descriptive
Martin von Zweigbergk <martinvonz@google.com>
parents: 22673
diff changeset
   203
   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
   204
   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
   205
  
42154
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   206
  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
   207
  resolving manifests
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   208
   branchmerge: True, force: False, partial: False
42154
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   209
   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
   210
   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
   211
   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
   212
  
45447
e7c8a5030a90 merge: show number of ancestors in bid merge debug notes
Pulkit Goyal <7895pulkit@gmail.com>
parents: 44197
diff changeset
   213
  auction for merging merge bids (2 ancestors)
45459
ccd3bf4490c1 merge: show list of bids for each file in bid-merge in ui.debug()
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45447
diff changeset
   214
   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: 45447
diff changeset
   215
     remote unchanged -> k
ccd3bf4490c1 merge: show list of bids for each file in bid-merge in ui.debug()
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45447
diff changeset
   216
     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
   217
   f1: picking 'keep' action
45459
ccd3bf4490c1 merge: show list of bids for each file in bid-merge in ui.debug()
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45447
diff changeset
   218
   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: 45447
diff changeset
   219
     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: 45447
diff changeset
   220
     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
   221
   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
   222
  end of auction
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   223
  
21389
e741972017d9 merge: change priority / ordering of merge actions
Mads Kiilerich <madski@unity3d.com>
parents: 21269
diff changeset
   224
   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
   225
  getting f2
23482
208ec8ca7c79 merge: make 'keep' message more descriptive
Martin von Zweigbergk <martinvonz@google.com>
parents: 22673
diff changeset
   226
   f1: remote unchanged -> k
42154
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   227
  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
   228
  (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
   229
42154
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   230
  $ 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
   231
  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
   232
  >>>
21128
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   233
  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
   234
  <<<
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
  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
   236
  >>>
21128
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   237
  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
   238
  <<<
21128
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   239
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   240
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
   241
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   242
  $ hg up -qC
22672
19903277f035 merge: use bid merge by default (BC)
Mads Kiilerich <madski@unity3d.com>
parents: 22671
diff changeset
   243
  $ hg merge
42154
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   244
  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
   245
  (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
   246
28065
6b1fc09c699a update: change default destination to tipmost descendant (issue4673) (BC)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28011
diff changeset
   247
  $ hg up -qC tip
22672
19903277f035 merge: use bid merge by default (BC)
Mads Kiilerich <madski@unity3d.com>
parents: 22671
diff changeset
   248
  $ hg merge -v
42154
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   249
  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
   250
  
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   251
  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
   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
  
42154
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   254
  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
   255
  resolving manifests
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   256
  
45447
e7c8a5030a90 merge: show number of ancestors in bid merge debug notes
Pulkit Goyal <7895pulkit@gmail.com>
parents: 44197
diff changeset
   257
  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
   258
   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
   259
   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
   260
  end of auction
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   261
  
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   262
  getting f1
42154
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   263
  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
   264
  (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
   265
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   266
  $ hg up -qC
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   267
  $ hg merge -v --debug --config merge.preferancestor="*"
42154
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   268
  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
   269
  
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   270
  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
   271
  resolving manifests
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   272
   branchmerge: True, force: False, partial: False
42154
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   273
   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
   274
   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
   275
   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
   276
  
42154
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   277
  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
   278
  resolving manifests
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   279
   branchmerge: True, force: False, partial: False
42154
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   280
   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
   281
   f1: versions differ -> m
23482
208ec8ca7c79 merge: make 'keep' message more descriptive
Martin von Zweigbergk <martinvonz@google.com>
parents: 22673
diff changeset
   282
   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
   283
  
45447
e7c8a5030a90 merge: show number of ancestors in bid merge debug notes
Pulkit Goyal <7895pulkit@gmail.com>
parents: 44197
diff changeset
   284
  auction for merging merge bids (2 ancestors)
45459
ccd3bf4490c1 merge: show list of bids for each file in bid-merge in ui.debug()
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45447
diff changeset
   285
   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: 45447
diff changeset
   286
     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: 45447
diff changeset
   287
     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
   288
   f1: picking 'get' action
45459
ccd3bf4490c1 merge: show list of bids for each file in bid-merge in ui.debug()
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45447
diff changeset
   289
   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: 45447
diff changeset
   290
     remote unchanged -> k
ccd3bf4490c1 merge: show list of bids for each file in bid-merge in ui.debug()
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45447
diff changeset
   291
     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
   292
   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
   293
  end of auction
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   294
  
f4014f646f71 merge: with merge.preferancestor=*, run an auction with bids from ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 21126
diff changeset
   295
   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
   296
  getting f1
23482
208ec8ca7c79 merge: make 'keep' message more descriptive
Martin von Zweigbergk <martinvonz@google.com>
parents: 22673
diff changeset
   297
   f2: remote unchanged -> k
42154
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   298
  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
   299
  (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
   300
38625
52f19a840543 revset: add optimization for heads(commonancestors())
Sean Farley <sean@farley.io>
parents: 35704
diff changeset
   301
Test the greatest common ancestor returning multiple changesets
52f19a840543 revset: add optimization for heads(commonancestors())
Sean Farley <sean@farley.io>
parents: 35704
diff changeset
   302
52f19a840543 revset: add optimization for heads(commonancestors())
Sean Farley <sean@farley.io>
parents: 35704
diff changeset
   303
  $ hg log -r 'heads(commonancestors(head()))'
52f19a840543 revset: add optimization for heads(commonancestors())
Sean Farley <sean@farley.io>
parents: 35704
diff changeset
   304
  changeset:   1:0f6b37dbe527
52f19a840543 revset: add optimization for heads(commonancestors())
Sean Farley <sean@farley.io>
parents: 35704
diff changeset
   305
  user:        test
52f19a840543 revset: add optimization for heads(commonancestors())
Sean Farley <sean@farley.io>
parents: 35704
diff changeset
   306
  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
   307
  summary:     1 first change f1
52f19a840543 revset: add optimization for heads(commonancestors())
Sean Farley <sean@farley.io>
parents: 35704
diff changeset
   308
  
42154
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   309
  changeset:   2:40663881a6dd
38625
52f19a840543 revset: add optimization for heads(commonancestors())
Sean Farley <sean@farley.io>
parents: 35704
diff changeset
   310
  parent:      0:40494bf2444c
52f19a840543 revset: add optimization for heads(commonancestors())
Sean Farley <sean@farley.io>
parents: 35704
diff changeset
   311
  user:        test
52f19a840543 revset: add optimization for heads(commonancestors())
Sean Farley <sean@farley.io>
parents: 35704
diff changeset
   312
  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
   313
  summary:     2 first change f2
52f19a840543 revset: add optimization for heads(commonancestors())
Sean Farley <sean@farley.io>
parents: 35704
diff changeset
   314
  
52f19a840543 revset: add optimization for heads(commonancestors())
Sean Farley <sean@farley.io>
parents: 35704
diff changeset
   315
20636
12580e04cc43 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com>
parents:
diff changeset
   316
  $ cd ..
21169
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   317
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   318
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
   319
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   320
  $ hg init ancestor-merging
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   321
  $ cd ancestor-merging
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   322
  $ echo a > x
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   323
  $ hg commit -A -m a x
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 b >> x
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   326
  $ hg commit -m b
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   327
  $ hg update -q 0
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   328
  $ echo c >> x
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   329
  $ hg commit -qm c
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   330
  $ hg update -q 1
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   331
  $ hg merge -q --tool internal:local 2
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   332
  $ echo c >> x
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   333
  $ hg commit -m bc
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   334
  $ hg update -q 2
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   335
  $ hg merge -q --tool internal:local 1
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   336
  $ echo b >> x
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   337
  $ hg commit -qm cb
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   338
22672
19903277f035 merge: use bid merge by default (BC)
Mads Kiilerich <madski@unity3d.com>
parents: 22671
diff changeset
   339
  $ hg merge --config merge.preferancestor='!'
21169
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   340
  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
   341
        alternatively, use --config merge.preferancestor=b211bbc6eb3c
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   342
  merging x
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   343
  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
   344
  (branch merge, don't forget to commit)
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   345
  $ cat x
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   346
  a
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   347
  c
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   348
  b
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   349
  c
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   350
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   351
  $ hg up -qC .
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   352
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   353
  $ hg merge --config merge.preferancestor=b211bbc6eb3c
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   354
  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
   355
        alternatively, use --config merge.preferancestor=70008a2163f6
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   356
  merging x
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   357
  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
   358
  (branch merge, don't forget to commit)
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   359
  $ cat x
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   360
  a
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   361
  b
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   362
  c
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   363
  b
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   364
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   365
  $ hg up -qC .
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
  $ 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
   368
  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
   369
  
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   370
  calculating bids for ancestor 70008a2163f6
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
  
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   373
  calculating bids for ancestor b211bbc6eb3c
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   374
  resolving manifests
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   375
  
45447
e7c8a5030a90 merge: show number of ancestors in bid merge debug notes
Pulkit Goyal <7895pulkit@gmail.com>
parents: 44197
diff changeset
   376
  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
   377
   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
   378
    versions differ -> m
0f0059af920c merge: improve notes for listing the bids for ambiguous merges
Mads Kiilerich <madski@unity3d.com>
parents: 21171
diff changeset
   379
    versions differ -> m
21170
ea3972243320 merge: fix stray character in bid merge message
Mads Kiilerich <madski@unity3d.com>
parents: 21169
diff changeset
   380
   x: ambiguous merge - picked m action
21169
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   381
  end of auction
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   382
  
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   383
  merging x
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   384
  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
   385
  (branch merge, don't forget to commit)
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   386
  $ cat x
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   387
  a
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   388
  c
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   389
  b
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   390
  c
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   391
22180
17011b36aac7 changectx: ancestor should only prefer merge.preferancestor if it is a revision
Mads Kiilerich <madski@unity3d.com>
parents: 22179
diff changeset
   392
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
   393
17011b36aac7 changectx: ancestor should only prefer merge.preferancestor if it is a revision
Mads Kiilerich <madski@unity3d.com>
parents: 22179
diff changeset
   394
  $ 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
   395
  1
17011b36aac7 changectx: ancestor should only prefer merge.preferancestor if it is a revision
Mads Kiilerich <madski@unity3d.com>
parents: 22179
diff changeset
   396
  $ 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
   397
  2
17011b36aac7 changectx: ancestor should only prefer merge.preferancestor if it is a revision
Mads Kiilerich <madski@unity3d.com>
parents: 22179
diff changeset
   398
  $ 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
   399
  1
22671
5220c12c43fd changectx: skip all invalid merge.preferancestor values
Mads Kiilerich <madski@unity3d.com>
parents: 22180
diff changeset
   400
  $ 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
   401
  2
22180
17011b36aac7 changectx: ancestor should only prefer merge.preferancestor if it is a revision
Mads Kiilerich <madski@unity3d.com>
parents: 22179
diff changeset
   402
21169
b743077db69a tests: better test coverage for bid merge
Mads Kiilerich <madski@unity3d.com>
parents: 21128
diff changeset
   403
  $ cd ..
42154
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
  $ hg init issue5020
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   406
  $ cd issue5020
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 a > noop
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   409
  $ hg ci -qAm initial
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
  $ echo b > noop
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   412
  $ hg ci -qAm 'uninteresting change'
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   413
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   414
  $ hg up -q 0
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   415
  $ mkdir d1
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   416
  $ echo a > d1/a
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   417
  $ echo b > d1/b
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   418
  $ 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
   419
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   420
  $ hg merge -q 1
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   421
  $ hg rm d1/a
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   422
  $ hg mv -q d1 d2
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   423
  $ 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
   424
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   425
  $ hg up -q 1
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   426
  $ hg merge -q 2
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   427
  $ 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
   428
  $ 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
   429
  @    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
   430
  |\
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   431
  +---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
   432
  | |/
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   433
  | 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
   434
  | |
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   435
  o |  1:11b5b303e36c uninteresting change
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   436
  |/
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   437
  o  0:7b54db1ebf33 initial
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
  $ hg merge 3 --debug
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   440
  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
   441
  
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   442
  calculating bids for ancestor 11b5b303e36c
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   443
  resolving manifests
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   444
   branchmerge: True, force: False, partial: False
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   445
   ancestor: 11b5b303e36c, local: c0ef19750a22+, remote: 6ca01f7342b9
45524
6877b0ee5f9d mergestate: introduce a new ACTION_KEEP_NEW
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45488
diff changeset
   446
   d1/a: ancestor missing, remote missing -> kn
6877b0ee5f9d mergestate: introduce a new ACTION_KEEP_NEW
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45488
diff changeset
   447
   d1/b: ancestor missing, remote missing -> kn
42162
31abb9d713af copies: don't include copies that are not in source in directory move
Martin von Zweigbergk <martinvonz@google.com>
parents: 42154
diff changeset
   448
   d2/b: remote created -> g
42154
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   449
  
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   450
  calculating bids for ancestor 154e6000f54e
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   451
    unmatched files in other:
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   452
     d2/b
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   453
    all copies found (* = to merge, ! = divergent, % = renamed and deleted):
44197
17e12938f8e7 copies: print debug information about copies per side/branch
Martin von Zweigbergk <martinvonz@google.com>
parents: 44162
diff changeset
   454
     on remote side:
17e12938f8e7 copies: print debug information about copies per side/branch
Martin von Zweigbergk <martinvonz@google.com>
parents: 44162
diff changeset
   455
      src: 'd1/b' -> dst: 'd2/b' 
42154
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   456
    checking for directory renames
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   457
     discovered dir src: 'd1/' -> dst: 'd2/'
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   458
  resolving manifests
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   459
   branchmerge: True, force: False, partial: False
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   460
   ancestor: 154e6000f54e, local: c0ef19750a22+, remote: 6ca01f7342b9
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   461
   d1/a: other deleted -> r
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   462
   d1/b: other deleted -> r
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   463
   d2/b: remote created -> g
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   464
  
45447
e7c8a5030a90 merge: show number of ancestors in bid merge debug notes
Pulkit Goyal <7895pulkit@gmail.com>
parents: 44197
diff changeset
   465
  auction for merging merge bids (2 ancestors)
45459
ccd3bf4490c1 merge: show list of bids for each file in bid-merge in ui.debug()
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45447
diff changeset
   466
   list of bids for d1/a:
45524
6877b0ee5f9d mergestate: introduce a new ACTION_KEEP_NEW
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45488
diff changeset
   467
     ancestor missing, remote missing -> kn
45459
ccd3bf4490c1 merge: show list of bids for each file in bid-merge in ui.debug()
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45447
diff changeset
   468
     other deleted -> r
45524
6877b0ee5f9d mergestate: introduce a new ACTION_KEEP_NEW
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45488
diff changeset
   469
   d1/a: picking 'keep new' action
45459
ccd3bf4490c1 merge: show list of bids for each file in bid-merge in ui.debug()
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45447
diff changeset
   470
   list of bids for d1/b:
45524
6877b0ee5f9d mergestate: introduce a new ACTION_KEEP_NEW
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45488
diff changeset
   471
     ancestor missing, remote missing -> kn
45459
ccd3bf4490c1 merge: show list of bids for each file in bid-merge in ui.debug()
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45447
diff changeset
   472
     other deleted -> r
45524
6877b0ee5f9d mergestate: introduce a new ACTION_KEEP_NEW
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45488
diff changeset
   473
   d1/b: picking 'keep new' action
45459
ccd3bf4490c1 merge: show list of bids for each file in bid-merge in ui.debug()
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45447
diff changeset
   474
   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: 45447
diff changeset
   475
     remote created -> g
ccd3bf4490c1 merge: show list of bids for each file in bid-merge in ui.debug()
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45447
diff changeset
   476
     remote created -> g
42162
31abb9d713af copies: don't include copies that are not in source in directory move
Martin von Zweigbergk <martinvonz@google.com>
parents: 42154
diff changeset
   477
   d2/b: consensus for g
42154
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   478
  end of auction
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   479
  
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   480
   d2/b: remote created -> g
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   481
  getting d2/b
45524
6877b0ee5f9d mergestate: introduce a new ACTION_KEEP_NEW
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45488
diff changeset
   482
   d1/a: ancestor missing, remote missing -> kn
6877b0ee5f9d mergestate: introduce a new ACTION_KEEP_NEW
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45488
diff changeset
   483
   d1/b: ancestor missing, remote missing -> kn
45469
49ffaa4f65f6 merge: add missing ACTION_KEEP when both remote and ancestor are not present
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45468
diff changeset
   484
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
42154
f2fe7cf4ebb6 tests: split out separate test for issue5020
Martin von Zweigbergk <martinvonz@google.com>
parents: 38625
diff changeset
   485
  (branch merge, don't forget to commit)
45465
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
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: 45459
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: 45459
diff changeset
   488
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: 45459
diff changeset
   489
==================================================
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   490
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   491
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: 45459
diff changeset
   492
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: 45459
diff changeset
   493
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: 45459
diff changeset
   494
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: 45459
diff changeset
   495
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: 45459
diff changeset
   496
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: 45459
diff changeset
   497
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: 45459
diff changeset
   498
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: 45459
diff changeset
   499
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: 45459
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: 45459
diff changeset
   501
"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: 45459
diff changeset
   502
----------------------------------------
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   503
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   504
  $ cd ..
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   505
  $ 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: 45459
diff changeset
   506
  $ 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: 45459
diff changeset
   507
  $ 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: 45459
diff changeset
   508
  $ 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: 45459
diff changeset
   509
  $ 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: 45459
diff changeset
   510
  $ 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: 45459
diff changeset
   511
  $ 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: 45459
diff changeset
   512
  $ 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: 45459
diff changeset
   513
  $ 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: 45459
diff changeset
   514
  $ 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: 45459
diff changeset
   515
  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: 45459
diff changeset
   516
  $ 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: 45459
diff changeset
   517
  $ 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: 45459
diff changeset
   518
  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: 45459
diff changeset
   519
  $ 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: 45459
diff changeset
   520
  @  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: 45459
diff changeset
   521
  |
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   522
  | 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: 45459
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: 45459
diff changeset
   524
  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: 45459
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: 45459
diff changeset
   526
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   527
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: 45459
diff changeset
   528
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   529
  $ 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: 45459
diff changeset
   530
  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: 45459
diff changeset
   531
  $ 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: 45459
diff changeset
   532
  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: 45459
diff changeset
   533
  (branch merge, don't forget to commit)
45582
463ca8af8c72 tests: add some debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45581
diff changeset
   534
  $ hg debugmergestate
463ca8af8c72 tests: add some debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45581
diff changeset
   535
  local (working copy): 7801bc9b9899de5e304bd162cafde9b78e10ab9b
463ca8af8c72 tests: add some debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45581
diff changeset
   536
  other (merge rev): 9b610631ab29024c5f44af7d2c19658ef8f8f071
463ca8af8c72 tests: add some debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45581
diff changeset
   537
  file: the-file (state "r")
463ca8af8c72 tests: add some debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45581
diff changeset
   538
    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: 45581
diff changeset
   539
    ancestor path: the-file (node 4b69178b9bdae28b651393b46e631427a72f217a)
463ca8af8c72 tests: add some debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45581
diff changeset
   540
    other path: the-file (node 59e363a07dc876278f0e41756236f30213b6b460)
463ca8af8c72 tests: add some debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45581
diff changeset
   541
    extra: ancestorlinknode = 955800955977bd6c103836ee3e437276e940a589
45584
4c8a93ec6908 merge: store commitinfo if these is a dc or cd conflict
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45582
diff changeset
   542
    extra: merge-removal-candidate = yes
45582
463ca8af8c72 tests: add some debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45581
diff changeset
   543
  extra: other-file (filenode-source = other)
45465
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   544
  $ 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: 45459
diff changeset
   545
  $ hg manifest
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   546
  other-file
45581
76b69f81629c tests: add few debugrevlogindex and a log call to see changes in next test
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45579
diff changeset
   547
  $ 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: 45579
diff changeset
   548
     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: 45579
diff changeset
   549
       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: 45579
diff changeset
   550
       1       1 59e363a07dc8 4b69178b9bda 000000000000
45465
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   551
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   552
  $ 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: 45459
diff changeset
   553
  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: 45459
diff changeset
   554
  $ 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: 45459
diff changeset
   555
  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: 45459
diff changeset
   556
  (branch merge, don't forget to commit)
45582
463ca8af8c72 tests: add some debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45581
diff changeset
   557
  $ hg debugmergestate
463ca8af8c72 tests: add some debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45581
diff changeset
   558
  local (working copy): 9b610631ab29024c5f44af7d2c19658ef8f8f071
463ca8af8c72 tests: add some debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45581
diff changeset
   559
  other (merge rev): 7801bc9b9899de5e304bd162cafde9b78e10ab9b
463ca8af8c72 tests: add some debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45581
diff changeset
   560
  file: the-file (state "r")
463ca8af8c72 tests: add some debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45581
diff changeset
   561
    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: 45581
diff changeset
   562
    ancestor path: the-file (node 4b69178b9bdae28b651393b46e631427a72f217a)
463ca8af8c72 tests: add some debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45581
diff changeset
   563
    other path: the-file (node 0000000000000000000000000000000000000000)
463ca8af8c72 tests: add some debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45581
diff changeset
   564
    extra: ancestorlinknode = 955800955977bd6c103836ee3e437276e940a589
45584
4c8a93ec6908 merge: store commitinfo if these is a dc or cd conflict
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45582
diff changeset
   565
    extra: merge-removal-candidate = yes
45465
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   566
  $ 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: 45459
diff changeset
   567
  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: 45459
diff changeset
   568
  $ hg manifest
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   569
  other-file
45581
76b69f81629c tests: add few debugrevlogindex and a log call to see changes in next test
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45579
diff changeset
   570
  $ 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: 45579
diff changeset
   571
     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: 45579
diff changeset
   572
       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: 45579
diff changeset
   573
       1       1 59e363a07dc8 4b69178b9bda 000000000000
45465
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   574
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   575
  $ 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: 45459
diff changeset
   576
  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: 45459
diff changeset
   577
  $ 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: 45459
diff changeset
   578
  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: 45459
diff changeset
   579
  (branch merge, don't forget to commit)
45582
463ca8af8c72 tests: add some debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45581
diff changeset
   580
  $ hg debugmergestate
463ca8af8c72 tests: add some debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45581
diff changeset
   581
  local (working copy): 7801bc9b9899de5e304bd162cafde9b78e10ab9b
463ca8af8c72 tests: add some debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45581
diff changeset
   582
  other (merge rev): 9b610631ab29024c5f44af7d2c19658ef8f8f071
463ca8af8c72 tests: add some debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45581
diff changeset
   583
  file: the-file (state "r")
463ca8af8c72 tests: add some debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45581
diff changeset
   584
    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: 45581
diff changeset
   585
    ancestor path: the-file (node 4b69178b9bdae28b651393b46e631427a72f217a)
463ca8af8c72 tests: add some debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45581
diff changeset
   586
    other path: the-file (node 59e363a07dc876278f0e41756236f30213b6b460)
463ca8af8c72 tests: add some debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45581
diff changeset
   587
    extra: ancestorlinknode = 955800955977bd6c103836ee3e437276e940a589
45584
4c8a93ec6908 merge: store commitinfo if these is a dc or cd conflict
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45582
diff changeset
   588
    extra: merge-removal-candidate = yes
45582
463ca8af8c72 tests: add some debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45581
diff changeset
   589
  extra: other-file (filenode-source = other)
45465
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
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: 45459
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: 45459
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: 45459
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: 45459
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: 45459
diff changeset
   595
45581
76b69f81629c tests: add few debugrevlogindex and a log call to see changes in next test
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45579
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: 45579
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: 45579
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: 45579
diff changeset
   599
       1       1 59e363a07dc8 4b69178b9bda 000000000000
45585
479cce8c9882 commit: force create a new filenode if it was set in mergestate by merge
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45584
diff changeset
   600
       2       5 885af55420b3 59e363a07dc8 000000000000 (newfilenode !)
45581
76b69f81629c tests: add few debugrevlogindex and a log call to see changes in next test
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45579
diff changeset
   601
45465
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   602
  $ hg update 'desc("updating-both-file")'
45585
479cce8c9882 commit: force create a new filenode if it was set in mergestate by merge
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45584
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: 45584
diff changeset
   604
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved (old !)
45465
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
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: 45459
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: 45459
diff changeset
   607
  (branch merge, don't forget to commit)
45582
463ca8af8c72 tests: add some debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45581
diff changeset
   608
  $ hg debugmergestate
463ca8af8c72 tests: add some debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45581
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: 45581
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: 45581
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: 45581
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: 45581
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: 45581
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: 45581
diff changeset
   615
    extra: ancestorlinknode = 955800955977bd6c103836ee3e437276e940a589
45584
4c8a93ec6908 merge: store commitinfo if these is a dc or cd conflict
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45582
diff changeset
   616
    extra: merge-removal-candidate = yes
45465
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   617
  $ 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: 45459
diff changeset
   618
  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: 45459
diff changeset
   619
  $ hg manifest
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   620
  other-file
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   621
  the-file
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   622
45581
76b69f81629c tests: add few debugrevlogindex and a log call to see changes in next test
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45579
diff changeset
   623
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: 45579
diff changeset
   624
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: 45579
diff changeset
   625
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: 45579
diff changeset
   626
in consideration.
76b69f81629c tests: add few debugrevlogindex and a log call to see changes in next test
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45579
diff changeset
   627
  $ 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: 45579
diff changeset
   628
     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: 45579
diff changeset
   629
       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: 45579
diff changeset
   630
       1       1 59e363a07dc8 4b69178b9bda 000000000000
45585
479cce8c9882 commit: force create a new filenode if it was set in mergestate by merge
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45584
diff changeset
   631
       2       5 885af55420b3 59e363a07dc8 000000000000 (newfilenode !)
45581
76b69f81629c tests: add few debugrevlogindex and a log call to see changes in next test
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45579
diff changeset
   632
76b69f81629c tests: add few debugrevlogindex and a log call to see changes in next test
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45579
diff changeset
   633
  $ 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: 45579
diff changeset
   634
  @    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: 45579
diff changeset
   635
  |\
45585
479cce8c9882 commit: force create a new filenode if it was set in mergestate by merge
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45584
diff changeset
   636
  +---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: 45584
diff changeset
   637
  +---o  e9b708131723 merge-keeping-the-file-from-deleted (old !)
45581
76b69f81629c tests: add few debugrevlogindex and a log call to see changes in next test
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45579
diff changeset
   638
  | |/
76b69f81629c tests: add few debugrevlogindex and a log call to see changes in next test
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45579
diff changeset
   639
  +---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: 45579
diff changeset
   640
  | |/
76b69f81629c tests: add few debugrevlogindex and a log call to see changes in next test
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45579
diff changeset
   641
  +---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: 45579
diff changeset
   642
  | |/
76b69f81629c tests: add few debugrevlogindex and a log call to see changes in next test
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45579
diff changeset
   643
  | 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: 45579
diff changeset
   644
  | |
76b69f81629c tests: add few debugrevlogindex and a log call to see changes in next test
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45579
diff changeset
   645
  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: 45579
diff changeset
   646
  |/
76b69f81629c tests: add few debugrevlogindex and a log call to see changes in next test
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45579
diff changeset
   647
  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: 45579
diff changeset
   648
  
76b69f81629c tests: add few debugrevlogindex and a log call to see changes in next test
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45579
diff changeset
   649
45465
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   650
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: 45459
diff changeset
   651
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: 45459
diff changeset
   652
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   653
(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: 45459
diff changeset
   654
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   655
  $ 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: 45459
diff changeset
   656
  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: 45459
diff changeset
   657
  $ 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: 45459
diff changeset
   658
  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: 45459
diff changeset
   659
  (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: 45459
diff changeset
   660
  $ ls -1
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   661
  other-file
45586
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45585
diff changeset
   662
  $ hg debugmergestate
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45585
diff changeset
   663
  no merge state found
45465
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   664
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   665
(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: 45459
diff changeset
   666
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   667
  $ 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: 45459
diff changeset
   668
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
45617
ad984583969a merge: if DELETED_CHANGED and GET are in actions, choose DELETED_CHANGED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45587
diff changeset
   669
ad984583969a merge: if DELETED_CHANGED and GET are in actions, choose DELETED_CHANGED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45587
diff changeset
   670
#if newfilenode
45465
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   671
  $ hg merge          'desc("merge-keeping-the-file-from-deleted")'
45617
ad984583969a merge: if DELETED_CHANGED and GET are in actions, choose DELETED_CHANGED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45587
diff changeset
   672
  file 'the-file' was deleted in local [working copy] but was modified in other [merge rev].
45585
479cce8c9882 commit: force create a new filenode if it was set in mergestate by merge
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45584
diff changeset
   673
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved (old !)
45617
ad984583969a merge: if DELETED_CHANGED and GET are in actions, choose DELETED_CHANGED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45587
diff changeset
   674
  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: 45587
diff changeset
   675
  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: 45587
diff changeset
   676
  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: 45587
diff changeset
   677
  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: 45587
diff changeset
   678
  [1]
ad984583969a merge: if DELETED_CHANGED and GET are in actions, choose DELETED_CHANGED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45587
diff changeset
   679
#else
ad984583969a merge: if DELETED_CHANGED and GET are in actions, choose DELETED_CHANGED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45587
diff changeset
   680
  $ 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: 45587
diff changeset
   681
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
45465
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   682
  (branch merge, don't forget to commit)
45617
ad984583969a merge: if DELETED_CHANGED and GET are in actions, choose DELETED_CHANGED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45587
diff changeset
   683
#endif
45465
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   684
  $ ls -1
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   685
  other-file
45585
479cce8c9882 commit: force create a new filenode if it was set in mergestate by merge
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45584
diff changeset
   686
  the-file (newfilenode !)
45465
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   687
45586
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45585
diff changeset
   688
#if newfilenode
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45585
diff changeset
   689
  $ hg debugmergestate
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45585
diff changeset
   690
  local (working copy): adfd88e5d7d3d3e22bdd26512991ee64d59c1d8f
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45585
diff changeset
   691
  other (merge rev): 38a4c3e7cac8c294ecb0a7a85a05464e9836ca78
45617
ad984583969a merge: if DELETED_CHANGED and GET are in actions, choose DELETED_CHANGED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45587
diff changeset
   692
  file: the-file (state "u")
ad984583969a merge: if DELETED_CHANGED and GET are in actions, choose DELETED_CHANGED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45587
diff changeset
   693
    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: 45587
diff changeset
   694
    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: 45587
diff changeset
   695
    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: 45587
diff changeset
   696
    extra: ancestorlinknode = 9b610631ab29024c5f44af7d2c19658ef8f8f071
ad984583969a merge: if DELETED_CHANGED and GET are in actions, choose DELETED_CHANGED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45587
diff changeset
   697
    extra: merge-removal-candidate = yes
45586
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45585
diff changeset
   698
#else
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45585
diff changeset
   699
  $ hg debugmergestate
45587
768412472663 merge: store cases when a file is absent post merge in commitinfo
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45586
diff changeset
   700
  local (working copy): adfd88e5d7d3d3e22bdd26512991ee64d59c1d8f
768412472663 merge: store cases when a file is absent post merge in commitinfo
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45586
diff changeset
   701
  other (merge rev): e9b7081317232edce73f7ad5ae0b7807ff5c326a
768412472663 merge: store cases when a file is absent post merge in commitinfo
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45586
diff changeset
   702
  extra: the-file (merge-removal-candidate = yes)
45586
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45585
diff changeset
   703
#endif
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45585
diff changeset
   704
45465
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   705
(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: 45459
diff changeset
   706
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: 45459
diff changeset
   707
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   708
  $ hg update --clean 'desc("merge-deleting-the-file-from-deleted")'
45585
479cce8c9882 commit: force create a new filenode if it was set in mergestate by merge
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45584
diff changeset
   709
  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: 45584
diff changeset
   710
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved (old !)
45465
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   711
  $ hg merge          'desc("merge-keeping-the-file-from-updated")'
45468
09edbff6ae8d merge: store ACTION_KEEP_ABSENT when we are keeping the file absent locally
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45465
diff changeset
   712
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
45465
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   713
  (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: 45459
diff changeset
   714
  $ ls -1
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   715
  other-file
45586
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45585
diff changeset
   716
  $ hg debugmergestate
45587
768412472663 merge: store cases when a file is absent post merge in commitinfo
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45586
diff changeset
   717
  local (working copy): adfd88e5d7d3d3e22bdd26512991ee64d59c1d8f
768412472663 merge: store cases when a file is absent post merge in commitinfo
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45586
diff changeset
   718
  other (merge rev): 5e3eccec60d88f94a7ba57c351f32cb24c15fe0c
768412472663 merge: store cases when a file is absent post merge in commitinfo
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45586
diff changeset
   719
  extra: the-file (merge-removal-candidate = yes)
45465
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   720
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   721
(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: 45459
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: 45459
diff changeset
   723
  $ hg update --clean 'desc("merge-deleting-the-file-from-updated")'
45468
09edbff6ae8d merge: store ACTION_KEEP_ABSENT when we are keeping the file absent locally
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45465
diff changeset
   724
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
45465
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   725
  $ 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: 45459
diff changeset
   726
  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: 45459
diff changeset
   727
  (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: 45459
diff changeset
   728
  $ ls -1
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   729
  other-file
45586
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45585
diff changeset
   730
  $ hg debugmergestate
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45585
diff changeset
   731
  no merge state found
45465
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   732
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   733
(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: 45459
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: 45459
diff changeset
   735
  $ 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: 45459
diff changeset
   736
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
45617
ad984583969a merge: if DELETED_CHANGED and GET are in actions, choose DELETED_CHANGED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45587
diff changeset
   737
ad984583969a merge: if DELETED_CHANGED and GET are in actions, choose DELETED_CHANGED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45587
diff changeset
   738
#if newfilenode
45465
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   739
  $ hg merge          'desc("merge-keeping-the-file-from-deleted")'
45617
ad984583969a merge: if DELETED_CHANGED and GET are in actions, choose DELETED_CHANGED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45587
diff changeset
   740
  file 'the-file' was deleted in local [working copy] but was modified in other [merge rev].
45585
479cce8c9882 commit: force create a new filenode if it was set in mergestate by merge
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45584
diff changeset
   741
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved (old !)
45617
ad984583969a merge: if DELETED_CHANGED and GET are in actions, choose DELETED_CHANGED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45587
diff changeset
   742
  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: 45587
diff changeset
   743
  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: 45587
diff changeset
   744
  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: 45587
diff changeset
   745
  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: 45587
diff changeset
   746
  [1]
ad984583969a merge: if DELETED_CHANGED and GET are in actions, choose DELETED_CHANGED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45587
diff changeset
   747
#else
ad984583969a merge: if DELETED_CHANGED and GET are in actions, choose DELETED_CHANGED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45587
diff changeset
   748
  $ 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: 45587
diff changeset
   749
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
45465
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   750
  (branch merge, don't forget to commit)
45617
ad984583969a merge: if DELETED_CHANGED and GET are in actions, choose DELETED_CHANGED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45587
diff changeset
   751
#endif
ad984583969a merge: if DELETED_CHANGED and GET are in actions, choose DELETED_CHANGED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45587
diff changeset
   752
45465
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   753
  $ ls -1
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   754
  other-file
45585
479cce8c9882 commit: force create a new filenode if it was set in mergestate by merge
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45584
diff changeset
   755
  the-file (newfilenode !)
45586
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45585
diff changeset
   756
#if newfilenode
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45585
diff changeset
   757
  $ hg debugmergestate
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45585
diff changeset
   758
  local (working copy): a4e0e44229dc130be2915b92c957c093f8c7ee3e
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45585
diff changeset
   759
  other (merge rev): 38a4c3e7cac8c294ecb0a7a85a05464e9836ca78
45617
ad984583969a merge: if DELETED_CHANGED and GET are in actions, choose DELETED_CHANGED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45587
diff changeset
   760
  file: the-file (state "u")
ad984583969a merge: if DELETED_CHANGED and GET are in actions, choose DELETED_CHANGED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45587
diff changeset
   761
    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: 45587
diff changeset
   762
    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: 45587
diff changeset
   763
    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: 45587
diff changeset
   764
    extra: ancestorlinknode = 9b610631ab29024c5f44af7d2c19658ef8f8f071
ad984583969a merge: if DELETED_CHANGED and GET are in actions, choose DELETED_CHANGED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45587
diff changeset
   765
    extra: merge-removal-candidate = yes
45586
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45585
diff changeset
   766
#else
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45585
diff changeset
   767
  $ hg debugmergestate
45587
768412472663 merge: store cases when a file is absent post merge in commitinfo
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45586
diff changeset
   768
  local (working copy): a4e0e44229dc130be2915b92c957c093f8c7ee3e
768412472663 merge: store cases when a file is absent post merge in commitinfo
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45586
diff changeset
   769
  other (merge rev): e9b7081317232edce73f7ad5ae0b7807ff5c326a
768412472663 merge: store cases when a file is absent post merge in commitinfo
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45586
diff changeset
   770
  extra: the-file (merge-removal-candidate = yes)
45586
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45585
diff changeset
   771
#endif
45465
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   772
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   773
(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: 45459
diff changeset
   774
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: 45459
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: 45459
diff changeset
   776
  $ hg update --clean 'desc("merge-deleting-the-file-from-updated")'
45585
479cce8c9882 commit: force create a new filenode if it was set in mergestate by merge
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45584
diff changeset
   777
  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: 45584
diff changeset
   778
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved (old !)
45465
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   779
  $ hg merge          'desc("merge-keeping-the-file-from-updated")'
45468
09edbff6ae8d merge: store ACTION_KEEP_ABSENT when we are keeping the file absent locally
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45465
diff changeset
   780
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
45465
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   781
  (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: 45459
diff changeset
   782
  $ ls -1
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   783
  other-file
45586
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45585
diff changeset
   784
  $ hg debugmergestate
45587
768412472663 merge: store cases when a file is absent post merge in commitinfo
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45586
diff changeset
   785
  local (working copy): a4e0e44229dc130be2915b92c957c093f8c7ee3e
768412472663 merge: store cases when a file is absent post merge in commitinfo
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45586
diff changeset
   786
  other (merge rev): 5e3eccec60d88f94a7ba57c351f32cb24c15fe0c
768412472663 merge: store cases when a file is absent post merge in commitinfo
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45586
diff changeset
   787
  extra: the-file (merge-removal-candidate = yes)
45465
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   788
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   789
(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: 45459
diff changeset
   790
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   791
  $ 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: 45459
diff changeset
   792
  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: 45459
diff changeset
   793
  $ hg merge          'desc("merge-keeping-the-file-from-deleted")'
45585
479cce8c9882 commit: force create a new filenode if it was set in mergestate by merge
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45584
diff changeset
   794
  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: 45584
diff changeset
   795
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved (old !)
45465
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   796
  (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: 45459
diff changeset
   797
  $ ls -1
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   798
  other-file
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   799
  the-file
45586
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45585
diff changeset
   800
#if newfilenode
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45585
diff changeset
   801
  $ hg debugmergestate
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45585
diff changeset
   802
  local (working copy): 5e3eccec60d88f94a7ba57c351f32cb24c15fe0c
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45585
diff changeset
   803
  other (merge rev): 38a4c3e7cac8c294ecb0a7a85a05464e9836ca78
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45585
diff changeset
   804
  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: 45585
diff changeset
   805
#else
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45585
diff changeset
   806
  $ hg debugmergestate
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45585
diff changeset
   807
  no merge state found
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45585
diff changeset
   808
#endif
45465
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   809
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   810
(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: 45459
diff changeset
   811
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: 45459
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: 45459
diff changeset
   813
  $ hg update --clean 'desc("merge-keeping-the-file-from-updated")'
45585
479cce8c9882 commit: force create a new filenode if it was set in mergestate by merge
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45584
diff changeset
   814
  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: 45584
diff changeset
   815
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved (old !)
45618
29c1d2401823 tests: fix a typo in `desc()` revset in test-merge-criss-cross.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45617
diff changeset
   816
  $ 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: 45617
diff changeset
   817
  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: 45617
diff changeset
   818
  (branch merge, don't forget to commit)
45465
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   819
  $ ls -1
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   820
  other-file
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   821
  the-file
45586
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45585
diff changeset
   822
  $ hg debugmergestate
45618
29c1d2401823 tests: fix a typo in `desc()` revset in test-merge-criss-cross.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45617
diff changeset
   823
  local (working copy): 5e3eccec60d88f94a7ba57c351f32cb24c15fe0c
29c1d2401823 tests: fix a typo in `desc()` revset in test-merge-criss-cross.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45617
diff changeset
   824
  other (merge rev): adfd88e5d7d3d3e22bdd26512991ee64d59c1d8f
29c1d2401823 tests: fix a typo in `desc()` revset in test-merge-criss-cross.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45617
diff changeset
   825
  extra: the-file (merge-removal-candidate = yes)
45465
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   826
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   827
(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: 45459
diff changeset
   828
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: 45459
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: 45459
diff changeset
   830
  $ 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: 45459
diff changeset
   831
  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: 45459
diff changeset
   832
  $ hg merge          'desc("merge-deleting-the-file-from-updated")'
45469
49ffaa4f65f6 merge: add missing ACTION_KEEP when both remote and ancestor are not present
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45468
diff changeset
   833
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
45465
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   834
  (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: 45459
diff changeset
   835
  $ ls -1
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   836
  other-file
45469
49ffaa4f65f6 merge: add missing ACTION_KEEP when both remote and ancestor are not present
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45468
diff changeset
   837
  the-file
45586
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45585
diff changeset
   838
  $ hg debugmergestate
45587
768412472663 merge: store cases when a file is absent post merge in commitinfo
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45586
diff changeset
   839
  local (working copy): 5e3eccec60d88f94a7ba57c351f32cb24c15fe0c
768412472663 merge: store cases when a file is absent post merge in commitinfo
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45586
diff changeset
   840
  other (merge rev): a4e0e44229dc130be2915b92c957c093f8c7ee3e
768412472663 merge: store cases when a file is absent post merge in commitinfo
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45586
diff changeset
   841
  extra: the-file (merge-removal-candidate = yes)
45465
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   842
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   843
(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: 45459
diff changeset
   844
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   845
  $ hg update --clean 'desc("merge-keeping-the-file-from-deleted")'
45585
479cce8c9882 commit: force create a new filenode if it was set in mergestate by merge
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45584
diff changeset
   846
  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: 45584
diff changeset
   847
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved (old !)
45465
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   848
  $ 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: 45459
diff changeset
   849
  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: 45459
diff changeset
   850
  (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: 45459
diff changeset
   851
  $ ls -1
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   852
  other-file
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   853
  the-file
45586
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45585
diff changeset
   854
  $ hg debugmergestate
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45585
diff changeset
   855
  no merge state found
45465
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   856
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   857
(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: 45459
diff changeset
   858
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   859
  $ 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: 45459
diff changeset
   860
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
45619
e8078af6af30 merge: if CHANGED_DELETED and KEEP_NEW are actions, choose CHANGED_DELETED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45618
diff changeset
   861
#if newfilenode
e8078af6af30 merge: if CHANGED_DELETED and KEEP_NEW are actions, choose CHANGED_DELETED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45618
diff changeset
   862
  $ 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: 45618
diff changeset
   863
  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: 45618
diff changeset
   864
  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: 45618
diff changeset
   865
  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: 45618
diff changeset
   866
  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: 45618
diff changeset
   867
  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: 45618
diff changeset
   868
  [1]
e8078af6af30 merge: if CHANGED_DELETED and KEEP_NEW are actions, choose CHANGED_DELETED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45618
diff changeset
   869
#else
45618
29c1d2401823 tests: fix a typo in `desc()` revset in test-merge-criss-cross.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45617
diff changeset
   870
  $ 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: 45617
diff changeset
   871
  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: 45617
diff changeset
   872
  (branch merge, don't forget to commit)
45619
e8078af6af30 merge: if CHANGED_DELETED and KEEP_NEW are actions, choose CHANGED_DELETED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45618
diff changeset
   873
#endif
45465
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   874
  $ ls -1
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   875
  other-file
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   876
  the-file
45619
e8078af6af30 merge: if CHANGED_DELETED and KEEP_NEW are actions, choose CHANGED_DELETED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45618
diff changeset
   877
e8078af6af30 merge: if CHANGED_DELETED and KEEP_NEW are actions, choose CHANGED_DELETED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45618
diff changeset
   878
#if newfilenode
45586
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45585
diff changeset
   879
  $ hg debugmergestate
45618
29c1d2401823 tests: fix a typo in `desc()` revset in test-merge-criss-cross.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45617
diff changeset
   880
  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: 45617
diff changeset
   881
  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: 45617
diff changeset
   882
  other (merge rev): adfd88e5d7d3d3e22bdd26512991ee64d59c1d8f
45619
e8078af6af30 merge: if CHANGED_DELETED and KEEP_NEW are actions, choose CHANGED_DELETED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45618
diff changeset
   883
  file: the-file (state "u")
e8078af6af30 merge: if CHANGED_DELETED and KEEP_NEW are actions, choose CHANGED_DELETED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45618
diff changeset
   884
    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: 45618
diff changeset
   885
    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: 45618
diff changeset
   886
    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: 45618
diff changeset
   887
    extra: ancestorlinknode = 9b610631ab29024c5f44af7d2c19658ef8f8f071
e8078af6af30 merge: if CHANGED_DELETED and KEEP_NEW are actions, choose CHANGED_DELETED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45618
diff changeset
   888
    extra: merge-removal-candidate = yes
e8078af6af30 merge: if CHANGED_DELETED and KEEP_NEW are actions, choose CHANGED_DELETED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45618
diff changeset
   889
#else
e8078af6af30 merge: if CHANGED_DELETED and KEEP_NEW are actions, choose CHANGED_DELETED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45618
diff changeset
   890
  $ hg debugmergestate
e8078af6af30 merge: if CHANGED_DELETED and KEEP_NEW are actions, choose CHANGED_DELETED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45618
diff changeset
   891
  local (working copy): e9b7081317232edce73f7ad5ae0b7807ff5c326a
e8078af6af30 merge: if CHANGED_DELETED and KEEP_NEW are actions, choose CHANGED_DELETED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45618
diff changeset
   892
  other (merge rev): adfd88e5d7d3d3e22bdd26512991ee64d59c1d8f
45618
29c1d2401823 tests: fix a typo in `desc()` revset in test-merge-criss-cross.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45617
diff changeset
   893
  extra: the-file (merge-removal-candidate = yes)
45619
e8078af6af30 merge: if CHANGED_DELETED and KEEP_NEW are actions, choose CHANGED_DELETED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45618
diff changeset
   894
#endif
45465
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   895
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   896
(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: 45459
diff changeset
   897
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   898
  $ 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: 45459
diff changeset
   899
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
45619
e8078af6af30 merge: if CHANGED_DELETED and KEEP_NEW are actions, choose CHANGED_DELETED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45618
diff changeset
   900
#if newfilenode
e8078af6af30 merge: if CHANGED_DELETED and KEEP_NEW are actions, choose CHANGED_DELETED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45618
diff changeset
   901
  $ 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: 45618
diff changeset
   902
  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: 45618
diff changeset
   903
  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: 45618
diff changeset
   904
  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: 45618
diff changeset
   905
  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: 45618
diff changeset
   906
  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: 45618
diff changeset
   907
  [1]
e8078af6af30 merge: if CHANGED_DELETED and KEEP_NEW are actions, choose CHANGED_DELETED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45618
diff changeset
   908
#else
45465
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   909
  $ hg merge          'desc("merge-deleting-the-file-from-updated")'
45469
49ffaa4f65f6 merge: add missing ACTION_KEEP when both remote and ancestor are not present
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45468
diff changeset
   910
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
45465
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   911
  (branch merge, don't forget to commit)
45619
e8078af6af30 merge: if CHANGED_DELETED and KEEP_NEW are actions, choose CHANGED_DELETED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45618
diff changeset
   912
#endif
45465
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   913
  $ ls -1
9bd60ec60601 tests: add criss cross merging tests whose behavior need to be fixed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45459
diff changeset
   914
  other-file
45469
49ffaa4f65f6 merge: add missing ACTION_KEEP when both remote and ancestor are not present
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45468
diff changeset
   915
  the-file
45586
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45585
diff changeset
   916
#if newfilenode
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45585
diff changeset
   917
  $ hg debugmergestate
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45585
diff changeset
   918
  local (working copy): 38a4c3e7cac8c294ecb0a7a85a05464e9836ca78
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45585
diff changeset
   919
  other (merge rev): a4e0e44229dc130be2915b92c957c093f8c7ee3e
45619
e8078af6af30 merge: if CHANGED_DELETED and KEEP_NEW are actions, choose CHANGED_DELETED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45618
diff changeset
   920
  file: the-file (state "u")
e8078af6af30 merge: if CHANGED_DELETED and KEEP_NEW are actions, choose CHANGED_DELETED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45618
diff changeset
   921
    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: 45618
diff changeset
   922
    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: 45618
diff changeset
   923
    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: 45618
diff changeset
   924
    extra: ancestorlinknode = 9b610631ab29024c5f44af7d2c19658ef8f8f071
e8078af6af30 merge: if CHANGED_DELETED and KEEP_NEW are actions, choose CHANGED_DELETED
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45618
diff changeset
   925
    extra: merge-removal-candidate = yes
45586
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45585
diff changeset
   926
#else
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45585
diff changeset
   927
  $ hg debugmergestate
45587
768412472663 merge: store cases when a file is absent post merge in commitinfo
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45586
diff changeset
   928
  local (working copy): e9b7081317232edce73f7ad5ae0b7807ff5c326a
768412472663 merge: store cases when a file is absent post merge in commitinfo
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45586
diff changeset
   929
  other (merge rev): a4e0e44229dc130be2915b92c957c093f8c7ee3e
768412472663 merge: store cases when a file is absent post merge in commitinfo
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45586
diff changeset
   930
  extra: the-file (merge-removal-candidate = yes)
45586
8c02c6262a5e tests: add some more debugmergestate calls in `test-merge-criss-cross.t`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45585
diff changeset
   931
#endif