tests/test-rename-merge1.t
author Arseniy Alekseyev <aalekseyev@janestreet.com>
Fri, 12 Apr 2024 14:21:14 +0100
branchstable
changeset 51568 2a89d2f6336f
parent 49621 55c6ebd11cb9
permissions -rw-r--r--
match: rename RootFiles to RootFilesIn for more consistency
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
49621
55c6ebd11cb9 tests: run many tests in $TESTTMP/repo instead of $TESTTMP
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents: 49252
diff changeset
     1
  $ hg init repo
55c6ebd11cb9 tests: run many tests in $TESTTMP/repo instead of $TESTTMP
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents: 49252
diff changeset
     2
  $ cd repo
12298
f254204d8b8d tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
     3
f254204d8b8d tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
     4
  $ echo "[merge]" >> .hg/hgrc
f254204d8b8d tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
     5
  $ echo "followcopies = 1" >> .hg/hgrc
f254204d8b8d tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
     6
f254204d8b8d tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
     7
  $ echo foo > a
f254204d8b8d tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
     8
  $ echo foo > a2
f254204d8b8d tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
     9
  $ hg add a a2
f254204d8b8d tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    10
  $ hg ci -m "start"
f254204d8b8d tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    11
f254204d8b8d tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    12
  $ hg mv a b
f254204d8b8d tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    13
  $ hg mv a2 b2
f254204d8b8d tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    14
  $ hg ci -m "rename"
f254204d8b8d tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    15
f254204d8b8d tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    16
  $ hg co 0
f254204d8b8d tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    17
  2 files updated, 0 files merged, 2 files removed, 0 files unresolved
f254204d8b8d tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    18
f254204d8b8d tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    19
  $ echo blahblah > a
f254204d8b8d tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    20
  $ echo blahblah > a2
f254204d8b8d tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    21
  $ hg mv a2 c2
f254204d8b8d tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    22
  $ hg ci -m "modify"
f254204d8b8d tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    23
  created new head
3153
c82ea81d6850 Add core copy detection algorithm
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    24
12298
f254204d8b8d tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    25
  $ hg merge -y --debug
f254204d8b8d tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    26
    unmatched files in local:
f254204d8b8d tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    27
     c2
f254204d8b8d tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    28
    unmatched files in other:
f254204d8b8d tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    29
     b
f254204d8b8d tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    30
     b2
16795
e9ae770eff1c merge: show renamed on one and deleted on the other side in debug output
Thomas Arendsen Hein <thomas@intevation.de>
parents: 16794
diff changeset
    31
    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: 44190
diff changeset
    32
     on local side:
17e12938f8e7 copies: print debug information about copies per side/branch
Martin von Zweigbergk <martinvonz@google.com>
parents: 44190
diff changeset
    33
      src: 'a2' -> dst: 'c2' !
17e12938f8e7 copies: print debug information about copies per side/branch
Martin von Zweigbergk <martinvonz@google.com>
parents: 44190
diff changeset
    34
     on remote side:
17e12938f8e7 copies: print debug information about copies per side/branch
Martin von Zweigbergk <martinvonz@google.com>
parents: 44190
diff changeset
    35
      src: 'a' -> dst: 'b' *
17e12938f8e7 copies: print debug information about copies per side/branch
Martin von Zweigbergk <martinvonz@google.com>
parents: 44190
diff changeset
    36
      src: 'a2' -> dst: 'b2' !
12298
f254204d8b8d tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    37
    checking for directory renames
f254204d8b8d tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    38
  resolving manifests
18605
bcf29565d89f manifestmerge: pass in branchmerge and force separately
Siddharth Agarwal <sid0@fb.com>
parents: 18541
diff changeset
    39
   branchmerge: True, force: False, partial: False
15625
efdcce3fd2d5 merge: make debug output easier to read
Martin Geisler <mg@aragost.com>
parents: 14182
diff changeset
    40
   ancestor: af1939970a1c, local: 044f8520aeeb+, remote: 85c198ef2f6c
26957
d16d73173fdd merge: move messages about possible conflicts a litte earlier
Martin von Zweigbergk <martinvonz@google.com>
parents: 26618
diff changeset
    41
  note: possible conflict - a2 was renamed multiple times to:
42110
3a7efcbdf288 copies: print list of divergent renames in sorted order
Martin von Zweigbergk <martinvonz@google.com>
parents: 37283
diff changeset
    42
   b2
26957
d16d73173fdd merge: move messages about possible conflicts a litte earlier
Martin von Zweigbergk <martinvonz@google.com>
parents: 26618
diff changeset
    43
   c2
45488
c4f14db3da1d merge: move initial handling of mergeactions near to later one
Pulkit Goyal <7895pulkit@gmail.com>
parents: 44237
diff changeset
    44
   b2: remote created -> g
c4f14db3da1d merge: move initial handling of mergeactions near to later one
Pulkit Goyal <7895pulkit@gmail.com>
parents: 44237
diff changeset
    45
  getting b2
21391
cb15835456cb merge: change debug logging - test output changes but no real changes
Mads Kiilerich <madski@unity3d.com>
parents: 21389
diff changeset
    46
   preserving a for resolve of b
cb15835456cb merge: change debug logging - test output changes but no real changes
Mads Kiilerich <madski@unity3d.com>
parents: 21389
diff changeset
    47
  removing a
48427
38941a28406a mergestate: merge `preresolve()` into `resolve()`
Martin von Zweigbergk <martinvonz@google.com>
parents: 46072
diff changeset
    48
   b: remote moved from a -> m
27161
296d55def9c4 filemerge: add debug output for whether this is a change/delete conflict
Siddharth Agarwal <sid0@fb.com>
parents: 26957
diff changeset
    49
  picked tool ':merge' for b (binary False symlink False changedelete False)
12298
f254204d8b8d tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    50
  merging a and b to b
f254204d8b8d tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    51
  my b@044f8520aeeb+ other b@85c198ef2f6c ancestor a@af1939970a1c
f254204d8b8d tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    52
   premerge successful
f254204d8b8d tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    53
  1 files updated, 1 files merged, 0 files removed, 0 files unresolved
f254204d8b8d tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    54
  (branch merge, don't forget to commit)
f254204d8b8d tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    55
f254204d8b8d tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    56
  $ hg status -AC
f254204d8b8d tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    57
  M b
f254204d8b8d tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    58
    a
f254204d8b8d tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    59
  M b2
f254204d8b8d tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    60
  R a
f254204d8b8d tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    61
  C c2
f254204d8b8d tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    62
f254204d8b8d tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    63
  $ cat b
f254204d8b8d tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    64
  blahblah
f254204d8b8d tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    65
f254204d8b8d tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    66
  $ hg ci -m "merge"
f254204d8b8d tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    67
14182
ec5886db9dc6 tests: fix deprecated use of hg debugdata/debugindex
Sune Foldager <cryo@cyanite.org>
parents: 13537
diff changeset
    68
  $ hg debugindex b
49252
4141951dacff debugindex: rename the parent column to mention nodeid
Pierre-Yves DAVID <pierre-yves.david@octobus.net>
parents: 49251
diff changeset
    69
     rev linkrev       nodeid    p1-nodeid    p2-nodeid
37283
d4e62df1c73d debugcommands: drop offset and length from debugindex by default
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37282
diff changeset
    70
       0       1 57eacc201a7f 000000000000 000000000000
d4e62df1c73d debugcommands: drop offset and length from debugindex by default
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37282
diff changeset
    71
       1       3 4727ba907962 000000000000 57eacc201a7f
12298
f254204d8b8d tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    72
f254204d8b8d tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    73
  $ hg debugrename b
f254204d8b8d tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    74
  b renamed from a:dd03b83622e78778b403775d0d074b9ac7387a66
f254204d8b8d tests: unify test-rename-merge1
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    75
12683
ada47c38f4e5 copies: don't detect copies as "divergent renames"
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 12298
diff changeset
    76
This used to trigger a "divergent renames" warning, despite no renames
ada47c38f4e5 copies: don't detect copies as "divergent renames"
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 12298
diff changeset
    77
ada47c38f4e5 copies: don't detect copies as "divergent renames"
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 12298
diff changeset
    78
  $ hg cp b b3
ada47c38f4e5 copies: don't detect copies as "divergent renames"
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 12298
diff changeset
    79
  $ hg cp b b4
ada47c38f4e5 copies: don't detect copies as "divergent renames"
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 12298
diff changeset
    80
  $ hg ci -A -m 'copy b twice'
42182
fad480dad04d tests: avoid cryptic nodeids in tests/test-rename-merge1.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 42167
diff changeset
    81
  $ hg up '.^'
12683
ada47c38f4e5 copies: don't detect copies as "divergent renames"
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 12298
diff changeset
    82
  0 files updated, 0 files merged, 2 files removed, 0 files unresolved
ada47c38f4e5 copies: don't detect copies as "divergent renames"
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 12298
diff changeset
    83
  $ hg up
ada47c38f4e5 copies: don't detect copies as "divergent renames"
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 12298
diff changeset
    84
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
ada47c38f4e5 copies: don't detect copies as "divergent renames"
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 12298
diff changeset
    85
  $ hg rm b3 b4
ada47c38f4e5 copies: don't detect copies as "divergent renames"
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 12298
diff changeset
    86
  $ hg ci -m 'clean up a bit of our mess'
ada47c38f4e5 copies: don't detect copies as "divergent renames"
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 12298
diff changeset
    87
ada47c38f4e5 copies: don't detect copies as "divergent renames"
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 12298
diff changeset
    88
We'd rather not warn on divergent renames done in the same changeset (issue2113)
ada47c38f4e5 copies: don't detect copies as "divergent renames"
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 12298
diff changeset
    89
ada47c38f4e5 copies: don't detect copies as "divergent renames"
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 12298
diff changeset
    90
  $ hg cp b b3
ada47c38f4e5 copies: don't detect copies as "divergent renames"
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 12298
diff changeset
    91
  $ hg mv b b4
ada47c38f4e5 copies: don't detect copies as "divergent renames"
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 12298
diff changeset
    92
  $ hg ci -A -m 'divergent renames in same changeset'
42182
fad480dad04d tests: avoid cryptic nodeids in tests/test-rename-merge1.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 42167
diff changeset
    93
  $ hg up '.^'
12683
ada47c38f4e5 copies: don't detect copies as "divergent renames"
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 12298
diff changeset
    94
  1 files updated, 0 files merged, 2 files removed, 0 files unresolved
ada47c38f4e5 copies: don't detect copies as "divergent renames"
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 12298
diff changeset
    95
  $ hg up
ada47c38f4e5 copies: don't detect copies as "divergent renames"
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 12298
diff changeset
    96
  2 files updated, 0 files merged, 1 files removed, 0 files unresolved
13468
d100702326d5 context: generate file ancestors in reverse revision order (issue2642)
Matt Mackall <mpm@selenic.com>
parents: 12757
diff changeset
    97
d100702326d5 context: generate file ancestors in reverse revision order (issue2642)
Matt Mackall <mpm@selenic.com>
parents: 12757
diff changeset
    98
Check for issue2642
d100702326d5 context: generate file ancestors in reverse revision order (issue2642)
Matt Mackall <mpm@selenic.com>
parents: 12757
diff changeset
    99
d100702326d5 context: generate file ancestors in reverse revision order (issue2642)
Matt Mackall <mpm@selenic.com>
parents: 12757
diff changeset
   100
  $ hg init t
d100702326d5 context: generate file ancestors in reverse revision order (issue2642)
Matt Mackall <mpm@selenic.com>
parents: 12757
diff changeset
   101
  $ cd t
d100702326d5 context: generate file ancestors in reverse revision order (issue2642)
Matt Mackall <mpm@selenic.com>
parents: 12757
diff changeset
   102
d100702326d5 context: generate file ancestors in reverse revision order (issue2642)
Matt Mackall <mpm@selenic.com>
parents: 12757
diff changeset
   103
  $ echo c0 > f1
d100702326d5 context: generate file ancestors in reverse revision order (issue2642)
Matt Mackall <mpm@selenic.com>
parents: 12757
diff changeset
   104
  $ hg ci -Aqm0
d100702326d5 context: generate file ancestors in reverse revision order (issue2642)
Matt Mackall <mpm@selenic.com>
parents: 12757
diff changeset
   105
d100702326d5 context: generate file ancestors in reverse revision order (issue2642)
Matt Mackall <mpm@selenic.com>
parents: 12757
diff changeset
   106
  $ hg up null -q
d100702326d5 context: generate file ancestors in reverse revision order (issue2642)
Matt Mackall <mpm@selenic.com>
parents: 12757
diff changeset
   107
  $ echo c1 > f1 # backport
d100702326d5 context: generate file ancestors in reverse revision order (issue2642)
Matt Mackall <mpm@selenic.com>
parents: 12757
diff changeset
   108
  $ hg ci -Aqm1
d100702326d5 context: generate file ancestors in reverse revision order (issue2642)
Matt Mackall <mpm@selenic.com>
parents: 12757
diff changeset
   109
  $ hg mv f1 f2
d100702326d5 context: generate file ancestors in reverse revision order (issue2642)
Matt Mackall <mpm@selenic.com>
parents: 12757
diff changeset
   110
  $ hg ci -qm2
d100702326d5 context: generate file ancestors in reverse revision order (issue2642)
Matt Mackall <mpm@selenic.com>
parents: 12757
diff changeset
   111
d100702326d5 context: generate file ancestors in reverse revision order (issue2642)
Matt Mackall <mpm@selenic.com>
parents: 12757
diff changeset
   112
  $ hg up 0 -q
d100702326d5 context: generate file ancestors in reverse revision order (issue2642)
Matt Mackall <mpm@selenic.com>
parents: 12757
diff changeset
   113
  $ hg merge 1 -q --tool internal:local
d100702326d5 context: generate file ancestors in reverse revision order (issue2642)
Matt Mackall <mpm@selenic.com>
parents: 12757
diff changeset
   114
  $ hg ci -qm3
d100702326d5 context: generate file ancestors in reverse revision order (issue2642)
Matt Mackall <mpm@selenic.com>
parents: 12757
diff changeset
   115
d100702326d5 context: generate file ancestors in reverse revision order (issue2642)
Matt Mackall <mpm@selenic.com>
parents: 12757
diff changeset
   116
  $ hg merge 2
d100702326d5 context: generate file ancestors in reverse revision order (issue2642)
Matt Mackall <mpm@selenic.com>
parents: 12757
diff changeset
   117
  merging f1 and f2 to f2
d100702326d5 context: generate file ancestors in reverse revision order (issue2642)
Matt Mackall <mpm@selenic.com>
parents: 12757
diff changeset
   118
  0 files updated, 1 files merged, 0 files removed, 0 files unresolved
d100702326d5 context: generate file ancestors in reverse revision order (issue2642)
Matt Mackall <mpm@selenic.com>
parents: 12757
diff changeset
   119
  (branch merge, don't forget to commit)
d100702326d5 context: generate file ancestors in reverse revision order (issue2642)
Matt Mackall <mpm@selenic.com>
parents: 12757
diff changeset
   120
d100702326d5 context: generate file ancestors in reverse revision order (issue2642)
Matt Mackall <mpm@selenic.com>
parents: 12757
diff changeset
   121
  $ cat f2
d100702326d5 context: generate file ancestors in reverse revision order (issue2642)
Matt Mackall <mpm@selenic.com>
parents: 12757
diff changeset
   122
  c0
13492
ca940d06bf95 tests: test renaming a file added on two branches (issue2089)
Wagner Bruna <wbruna@softwareexpress.com.br>
parents: 13468
diff changeset
   123
16793
9cbc44a6600e tests: do not create repos inside repos in test-rename-merge1.t
Thomas Arendsen Hein <thomas@intevation.de>
parents: 16792
diff changeset
   124
  $ cd ..
9cbc44a6600e tests: do not create repos inside repos in test-rename-merge1.t
Thomas Arendsen Hein <thomas@intevation.de>
parents: 16792
diff changeset
   125
13492
ca940d06bf95 tests: test renaming a file added on two branches (issue2089)
Wagner Bruna <wbruna@softwareexpress.com.br>
parents: 13468
diff changeset
   126
Check for issue2089
ca940d06bf95 tests: test renaming a file added on two branches (issue2089)
Wagner Bruna <wbruna@softwareexpress.com.br>
parents: 13468
diff changeset
   127
ca940d06bf95 tests: test renaming a file added on two branches (issue2089)
Wagner Bruna <wbruna@softwareexpress.com.br>
parents: 13468
diff changeset
   128
  $ hg init repo2089
ca940d06bf95 tests: test renaming a file added on two branches (issue2089)
Wagner Bruna <wbruna@softwareexpress.com.br>
parents: 13468
diff changeset
   129
  $ cd repo2089
ca940d06bf95 tests: test renaming a file added on two branches (issue2089)
Wagner Bruna <wbruna@softwareexpress.com.br>
parents: 13468
diff changeset
   130
13537
37f487b9fbcc test-rename-merge1: make it easier to review, windows friendly
Patrick Mezard <pmezard@gmail.com>
parents: 13492
diff changeset
   131
  $ echo c0 > f1
37f487b9fbcc test-rename-merge1: make it easier to review, windows friendly
Patrick Mezard <pmezard@gmail.com>
parents: 13492
diff changeset
   132
  $ hg ci -Aqm0
13492
ca940d06bf95 tests: test renaming a file added on two branches (issue2089)
Wagner Bruna <wbruna@softwareexpress.com.br>
parents: 13468
diff changeset
   133
13537
37f487b9fbcc test-rename-merge1: make it easier to review, windows friendly
Patrick Mezard <pmezard@gmail.com>
parents: 13492
diff changeset
   134
  $ hg up null -q
37f487b9fbcc test-rename-merge1: make it easier to review, windows friendly
Patrick Mezard <pmezard@gmail.com>
parents: 13492
diff changeset
   135
  $ echo c1 > f1
37f487b9fbcc test-rename-merge1: make it easier to review, windows friendly
Patrick Mezard <pmezard@gmail.com>
parents: 13492
diff changeset
   136
  $ hg ci -Aqm1
13492
ca940d06bf95 tests: test renaming a file added on two branches (issue2089)
Wagner Bruna <wbruna@softwareexpress.com.br>
parents: 13468
diff changeset
   137
13537
37f487b9fbcc test-rename-merge1: make it easier to review, windows friendly
Patrick Mezard <pmezard@gmail.com>
parents: 13492
diff changeset
   138
  $ hg up 0 -q
13492
ca940d06bf95 tests: test renaming a file added on two branches (issue2089)
Wagner Bruna <wbruna@softwareexpress.com.br>
parents: 13468
diff changeset
   139
  $ hg merge 1 -q --tool internal:local
13537
37f487b9fbcc test-rename-merge1: make it easier to review, windows friendly
Patrick Mezard <pmezard@gmail.com>
parents: 13492
diff changeset
   140
  $ echo c2 > f1
37f487b9fbcc test-rename-merge1: make it easier to review, windows friendly
Patrick Mezard <pmezard@gmail.com>
parents: 13492
diff changeset
   141
  $ hg ci -qm2
13492
ca940d06bf95 tests: test renaming a file added on two branches (issue2089)
Wagner Bruna <wbruna@softwareexpress.com.br>
parents: 13468
diff changeset
   142
13537
37f487b9fbcc test-rename-merge1: make it easier to review, windows friendly
Patrick Mezard <pmezard@gmail.com>
parents: 13492
diff changeset
   143
  $ hg up 1 -q
37f487b9fbcc test-rename-merge1: make it easier to review, windows friendly
Patrick Mezard <pmezard@gmail.com>
parents: 13492
diff changeset
   144
  $ hg mv f1 f2
37f487b9fbcc test-rename-merge1: make it easier to review, windows friendly
Patrick Mezard <pmezard@gmail.com>
parents: 13492
diff changeset
   145
  $ hg ci -Aqm3
13492
ca940d06bf95 tests: test renaming a file added on two branches (issue2089)
Wagner Bruna <wbruna@softwareexpress.com.br>
parents: 13468
diff changeset
   146
13537
37f487b9fbcc test-rename-merge1: make it easier to review, windows friendly
Patrick Mezard <pmezard@gmail.com>
parents: 13492
diff changeset
   147
  $ hg up 2 -q
13492
ca940d06bf95 tests: test renaming a file added on two branches (issue2089)
Wagner Bruna <wbruna@softwareexpress.com.br>
parents: 13468
diff changeset
   148
  $ hg merge 3
13537
37f487b9fbcc test-rename-merge1: make it easier to review, windows friendly
Patrick Mezard <pmezard@gmail.com>
parents: 13492
diff changeset
   149
  merging f1 and f2 to f2
13492
ca940d06bf95 tests: test renaming a file added on two branches (issue2089)
Wagner Bruna <wbruna@softwareexpress.com.br>
parents: 13468
diff changeset
   150
  0 files updated, 1 files merged, 0 files removed, 0 files unresolved
ca940d06bf95 tests: test renaming a file added on two branches (issue2089)
Wagner Bruna <wbruna@softwareexpress.com.br>
parents: 13468
diff changeset
   151
  (branch merge, don't forget to commit)
ca940d06bf95 tests: test renaming a file added on two branches (issue2089)
Wagner Bruna <wbruna@softwareexpress.com.br>
parents: 13468
diff changeset
   152
13537
37f487b9fbcc test-rename-merge1: make it easier to review, windows friendly
Patrick Mezard <pmezard@gmail.com>
parents: 13492
diff changeset
   153
  $ cat f2
37f487b9fbcc test-rename-merge1: make it easier to review, windows friendly
Patrick Mezard <pmezard@gmail.com>
parents: 13492
diff changeset
   154
  c2
16793
9cbc44a6600e tests: do not create repos inside repos in test-rename-merge1.t
Thomas Arendsen Hein <thomas@intevation.de>
parents: 16792
diff changeset
   155
9cbc44a6600e tests: do not create repos inside repos in test-rename-merge1.t
Thomas Arendsen Hein <thomas@intevation.de>
parents: 16792
diff changeset
   156
  $ cd ..
16794
98687cdddcb1 merge: warn about file deleted in one branch and renamed in other (issue3074)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 16793
diff changeset
   157
98687cdddcb1 merge: warn about file deleted in one branch and renamed in other (issue3074)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 16793
diff changeset
   158
Check for issue3074
98687cdddcb1 merge: warn about file deleted in one branch and renamed in other (issue3074)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 16793
diff changeset
   159
98687cdddcb1 merge: warn about file deleted in one branch and renamed in other (issue3074)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 16793
diff changeset
   160
  $ hg init repo3074
98687cdddcb1 merge: warn about file deleted in one branch and renamed in other (issue3074)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 16793
diff changeset
   161
  $ cd repo3074
98687cdddcb1 merge: warn about file deleted in one branch and renamed in other (issue3074)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 16793
diff changeset
   162
  $ echo foo > file
98687cdddcb1 merge: warn about file deleted in one branch and renamed in other (issue3074)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 16793
diff changeset
   163
  $ hg add file
98687cdddcb1 merge: warn about file deleted in one branch and renamed in other (issue3074)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 16793
diff changeset
   164
  $ hg commit -m "added file"
98687cdddcb1 merge: warn about file deleted in one branch and renamed in other (issue3074)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 16793
diff changeset
   165
  $ hg mv file newfile
98687cdddcb1 merge: warn about file deleted in one branch and renamed in other (issue3074)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 16793
diff changeset
   166
  $ hg commit -m "renamed file"
98687cdddcb1 merge: warn about file deleted in one branch and renamed in other (issue3074)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 16793
diff changeset
   167
  $ hg update 0
98687cdddcb1 merge: warn about file deleted in one branch and renamed in other (issue3074)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 16793
diff changeset
   168
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved
98687cdddcb1 merge: warn about file deleted in one branch and renamed in other (issue3074)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 16793
diff changeset
   169
  $ hg rm file
98687cdddcb1 merge: warn about file deleted in one branch and renamed in other (issue3074)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 16793
diff changeset
   170
  $ hg commit -m "deleted file"
98687cdddcb1 merge: warn about file deleted in one branch and renamed in other (issue3074)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 16793
diff changeset
   171
  created new head
16795
e9ae770eff1c merge: show renamed on one and deleted on the other side in debug output
Thomas Arendsen Hein <thomas@intevation.de>
parents: 16794
diff changeset
   172
  $ hg merge --debug
e9ae770eff1c merge: show renamed on one and deleted on the other side in debug output
Thomas Arendsen Hein <thomas@intevation.de>
parents: 16794
diff changeset
   173
    unmatched files in other:
e9ae770eff1c merge: show renamed on one and deleted on the other side in debug output
Thomas Arendsen Hein <thomas@intevation.de>
parents: 16794
diff changeset
   174
     newfile
e9ae770eff1c merge: show renamed on one and deleted on the other side in debug output
Thomas Arendsen Hein <thomas@intevation.de>
parents: 16794
diff changeset
   175
    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: 44190
diff changeset
   176
     on remote side:
17e12938f8e7 copies: print debug information about copies per side/branch
Martin von Zweigbergk <martinvonz@google.com>
parents: 44190
diff changeset
   177
      src: 'file' -> dst: 'newfile' %
16795
e9ae770eff1c merge: show renamed on one and deleted on the other side in debug output
Thomas Arendsen Hein <thomas@intevation.de>
parents: 16794
diff changeset
   178
    checking for directory renames
e9ae770eff1c merge: show renamed on one and deleted on the other side in debug output
Thomas Arendsen Hein <thomas@intevation.de>
parents: 16794
diff changeset
   179
  resolving manifests
18605
bcf29565d89f manifestmerge: pass in branchmerge and force separately
Siddharth Agarwal <sid0@fb.com>
parents: 18541
diff changeset
   180
   branchmerge: True, force: False, partial: False
16795
e9ae770eff1c merge: show renamed on one and deleted on the other side in debug output
Thomas Arendsen Hein <thomas@intevation.de>
parents: 16794
diff changeset
   181
   ancestor: 19d7f95df299, local: 0084274f6b67+, remote: 5d32493049f0
26957
d16d73173fdd merge: move messages about possible conflicts a litte earlier
Martin von Zweigbergk <martinvonz@google.com>
parents: 26618
diff changeset
   182
  note: possible conflict - file was deleted and renamed to:
d16d73173fdd merge: move messages about possible conflicts a litte earlier
Martin von Zweigbergk <martinvonz@google.com>
parents: 26618
diff changeset
   183
   newfile
21389
e741972017d9 merge: change priority / ordering of merge actions
Mads Kiilerich <madski@unity3d.com>
parents: 20945
diff changeset
   184
   newfile: remote created -> g
18631
e2dc5397bc82 tests: update test output (will be folded into parent)
Bryan O'Sullivan <bryano@fb.com>
parents: 18605
diff changeset
   185
  getting newfile
16794
98687cdddcb1 merge: warn about file deleted in one branch and renamed in other (issue3074)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 16793
diff changeset
   186
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
98687cdddcb1 merge: warn about file deleted in one branch and renamed in other (issue3074)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 16793
diff changeset
   187
  (branch merge, don't forget to commit)
98687cdddcb1 merge: warn about file deleted in one branch and renamed in other (issue3074)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 16793
diff changeset
   188
  $ hg status
98687cdddcb1 merge: warn about file deleted in one branch and renamed in other (issue3074)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 16793
diff changeset
   189
  M newfile
98687cdddcb1 merge: warn about file deleted in one branch and renamed in other (issue3074)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 16793
diff changeset
   190
  $ cd ..
44161
d7622fdec3b5 tests: test merge of renames of different sources to same target
Martin von Zweigbergk <martinvonz@google.com>
parents: 42590
diff changeset
   191
d7622fdec3b5 tests: test merge of renames of different sources to same target
Martin von Zweigbergk <martinvonz@google.com>
parents: 42590
diff changeset
   192
Create x and y, then modify y and rename x to z on one side of merge, and
d7622fdec3b5 tests: test merge of renames of different sources to same target
Martin von Zweigbergk <martinvonz@google.com>
parents: 42590
diff changeset
   193
modify x and rename y to z on the other side.
d7622fdec3b5 tests: test merge of renames of different sources to same target
Martin von Zweigbergk <martinvonz@google.com>
parents: 42590
diff changeset
   194
  $ hg init conflicting-target
d7622fdec3b5 tests: test merge of renames of different sources to same target
Martin von Zweigbergk <martinvonz@google.com>
parents: 42590
diff changeset
   195
  $ cd conflicting-target
d7622fdec3b5 tests: test merge of renames of different sources to same target
Martin von Zweigbergk <martinvonz@google.com>
parents: 42590
diff changeset
   196
  $ echo x > x
d7622fdec3b5 tests: test merge of renames of different sources to same target
Martin von Zweigbergk <martinvonz@google.com>
parents: 42590
diff changeset
   197
  $ echo y > y
d7622fdec3b5 tests: test merge of renames of different sources to same target
Martin von Zweigbergk <martinvonz@google.com>
parents: 42590
diff changeset
   198
  $ hg ci -Aqm 'add x and y'
d7622fdec3b5 tests: test merge of renames of different sources to same target
Martin von Zweigbergk <martinvonz@google.com>
parents: 42590
diff changeset
   199
  $ hg mv x z
d7622fdec3b5 tests: test merge of renames of different sources to same target
Martin von Zweigbergk <martinvonz@google.com>
parents: 42590
diff changeset
   200
  $ echo foo >> y
d7622fdec3b5 tests: test merge of renames of different sources to same target
Martin von Zweigbergk <martinvonz@google.com>
parents: 42590
diff changeset
   201
  $ hg ci -qm 'modify y, rename x to z'
d7622fdec3b5 tests: test merge of renames of different sources to same target
Martin von Zweigbergk <martinvonz@google.com>
parents: 42590
diff changeset
   202
  $ hg co -q 0
d7622fdec3b5 tests: test merge of renames of different sources to same target
Martin von Zweigbergk <martinvonz@google.com>
parents: 42590
diff changeset
   203
  $ hg mv y z
d7622fdec3b5 tests: test merge of renames of different sources to same target
Martin von Zweigbergk <martinvonz@google.com>
parents: 42590
diff changeset
   204
  $ echo foo >> x
d7622fdec3b5 tests: test merge of renames of different sources to same target
Martin von Zweigbergk <martinvonz@google.com>
parents: 42590
diff changeset
   205
  $ hg ci -qm 'modify x, rename y to z'
d7622fdec3b5 tests: test merge of renames of different sources to same target
Martin von Zweigbergk <martinvonz@google.com>
parents: 42590
diff changeset
   206
# We should probably tell the user about the conflicting rename sources.
d7622fdec3b5 tests: test merge of renames of different sources to same target
Martin von Zweigbergk <martinvonz@google.com>
parents: 42590
diff changeset
   207
# Depending on which side they pick, we should take that rename and get
d7622fdec3b5 tests: test merge of renames of different sources to same target
Martin von Zweigbergk <martinvonz@google.com>
parents: 42590
diff changeset
   208
# the changes to the source from the other side. The unchanged file should
d7622fdec3b5 tests: test merge of renames of different sources to same target
Martin von Zweigbergk <martinvonz@google.com>
parents: 42590
diff changeset
   209
# remain.
d7622fdec3b5 tests: test merge of renames of different sources to same target
Martin von Zweigbergk <martinvonz@google.com>
parents: 42590
diff changeset
   210
  $ hg merge --debug 1 -t :merge3
d7622fdec3b5 tests: test merge of renames of different sources to same target
Martin von Zweigbergk <martinvonz@google.com>
parents: 42590
diff changeset
   211
    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: 44190
diff changeset
   212
     on local side:
44237
b4057d001760 merge: when rename was made on both sides, use ancestor as merge base
Martin von Zweigbergk <martinvonz@google.com>
parents: 44197
diff changeset
   213
      src: 'y' -> dst: 'z' *
44197
17e12938f8e7 copies: print debug information about copies per side/branch
Martin von Zweigbergk <martinvonz@google.com>
parents: 44190
diff changeset
   214
     on remote side:
44237
b4057d001760 merge: when rename was made on both sides, use ancestor as merge base
Martin von Zweigbergk <martinvonz@google.com>
parents: 44197
diff changeset
   215
      src: 'x' -> dst: 'z' *
44161
d7622fdec3b5 tests: test merge of renames of different sources to same target
Martin von Zweigbergk <martinvonz@google.com>
parents: 42590
diff changeset
   216
    checking for directory renames
d7622fdec3b5 tests: test merge of renames of different sources to same target
Martin von Zweigbergk <martinvonz@google.com>
parents: 42590
diff changeset
   217
  resolving manifests
d7622fdec3b5 tests: test merge of renames of different sources to same target
Martin von Zweigbergk <martinvonz@google.com>
parents: 42590
diff changeset
   218
   branchmerge: True, force: False, partial: False
d7622fdec3b5 tests: test merge of renames of different sources to same target
Martin von Zweigbergk <martinvonz@google.com>
parents: 42590
diff changeset
   219
   ancestor: 5151c134577e, local: 07fcbc9a74ed+, remote: f21419739508
46072
69429972ff1f tests: correct the output order about starting a background thread for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 45488
diff changeset
   220
  starting 4 threads for background file closing (?)
44161
d7622fdec3b5 tests: test merge of renames of different sources to same target
Martin von Zweigbergk <martinvonz@google.com>
parents: 42590
diff changeset
   221
   preserving z for resolve of z
48427
38941a28406a mergestate: merge `preresolve()` into `resolve()`
Martin von Zweigbergk <martinvonz@google.com>
parents: 46072
diff changeset
   222
   z: both renamed from y -> m
44161
d7622fdec3b5 tests: test merge of renames of different sources to same target
Martin von Zweigbergk <martinvonz@google.com>
parents: 42590
diff changeset
   223
  picked tool ':merge3' for z (binary False symlink False changedelete False)
d7622fdec3b5 tests: test merge of renames of different sources to same target
Martin von Zweigbergk <martinvonz@google.com>
parents: 42590
diff changeset
   224
  merging z
44237
b4057d001760 merge: when rename was made on both sides, use ancestor as merge base
Martin von Zweigbergk <martinvonz@google.com>
parents: 44197
diff changeset
   225
  my z@07fcbc9a74ed+ other z@f21419739508 ancestor y@5151c134577e
b4057d001760 merge: when rename was made on both sides, use ancestor as merge base
Martin von Zweigbergk <martinvonz@google.com>
parents: 44197
diff changeset
   226
   premerge successful
b4057d001760 merge: when rename was made on both sides, use ancestor as merge base
Martin von Zweigbergk <martinvonz@google.com>
parents: 44197
diff changeset
   227
  0 files updated, 1 files merged, 0 files removed, 0 files unresolved
b4057d001760 merge: when rename was made on both sides, use ancestor as merge base
Martin von Zweigbergk <martinvonz@google.com>
parents: 44197
diff changeset
   228
  (branch merge, don't forget to commit)
44161
d7622fdec3b5 tests: test merge of renames of different sources to same target
Martin von Zweigbergk <martinvonz@google.com>
parents: 42590
diff changeset
   229
  $ ls
d7622fdec3b5 tests: test merge of renames of different sources to same target
Martin von Zweigbergk <martinvonz@google.com>
parents: 42590
diff changeset
   230
  x
d7622fdec3b5 tests: test merge of renames of different sources to same target
Martin von Zweigbergk <martinvonz@google.com>
parents: 42590
diff changeset
   231
  z
d7622fdec3b5 tests: test merge of renames of different sources to same target
Martin von Zweigbergk <martinvonz@google.com>
parents: 42590
diff changeset
   232
  $ cat x
d7622fdec3b5 tests: test merge of renames of different sources to same target
Martin von Zweigbergk <martinvonz@google.com>
parents: 42590
diff changeset
   233
  x
d7622fdec3b5 tests: test merge of renames of different sources to same target
Martin von Zweigbergk <martinvonz@google.com>
parents: 42590
diff changeset
   234
  foo
d7622fdec3b5 tests: test merge of renames of different sources to same target
Martin von Zweigbergk <martinvonz@google.com>
parents: 42590
diff changeset
   235
# 'z' should have had the added 'foo' line
d7622fdec3b5 tests: test merge of renames of different sources to same target
Martin von Zweigbergk <martinvonz@google.com>
parents: 42590
diff changeset
   236
  $ cat z
d7622fdec3b5 tests: test merge of renames of different sources to same target
Martin von Zweigbergk <martinvonz@google.com>
parents: 42590
diff changeset
   237
  x