tests/test-copy-move-merge.t
author Martin von Zweigbergk <martinvonz@google.com>
Thu, 02 Dec 2021 22:59:36 -0800
changeset 48427 38941a28406a
parent 46072 69429972ff1f
permissions -rw-r--r--
mergestate: merge `preresolve()` into `resolve()` The separation between `preresolve()` and `resolve()` was something added for the "merge driver" feature. Since we removed that in 32ce4cbaec4b (mergedriver: delete it, 2020-09-17), we don't need the separation anymore. More cleanups will follow. Differential Revision: https://phab.mercurial-scm.org/D11855
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
34078
b4b196092cc3 copytrace: move the default copytracing algorithm in a new function
Pulkit Goyal <7895pulkit@gmail.com>
parents: 34077
diff changeset
     1
Test for the full copytracing algorithm
b4b196092cc3 copytrace: move the default copytracing algorithm in a new function
Pulkit Goyal <7895pulkit@gmail.com>
parents: 34077
diff changeset
     2
=======================================
b4b196092cc3 copytrace: move the default copytracing algorithm in a new function
Pulkit Goyal <7895pulkit@gmail.com>
parents: 34077
diff changeset
     3
44258
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
     4
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
     5
Initial Setup
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
     6
=============
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
     7
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
     8
use git diff to see rename
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
     9
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
    10
  $ cat << EOF >> $HGRCPATH
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
    11
  > [diff]
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
    12
  > git=yes
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
    13
  > EOF
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
    14
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
    15
Setup an history where one side copy and rename a file (and update it) while the other side update it.
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
    16
13956
ffb5c09ba822 tests: remove redundant mkdir
Martin Geisler <mg@lazybytes.net>
parents: 12156
diff changeset
    17
  $ hg init t
11972
b708cadc6e8f tests: unify test-copy-move-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 5059
diff changeset
    18
  $ cd t
5059
8d9bdcbb2b18 merge: avoid double deletion mentioned in issue636
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    19
11972
b708cadc6e8f tests: unify test-copy-move-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 5059
diff changeset
    20
  $ echo 1 > a
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11972
diff changeset
    21
  $ hg ci -qAm "first"
5059
8d9bdcbb2b18 merge: avoid double deletion mentioned in issue636
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    22
11972
b708cadc6e8f tests: unify test-copy-move-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 5059
diff changeset
    23
  $ hg cp a b
b708cadc6e8f tests: unify test-copy-move-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 5059
diff changeset
    24
  $ hg mv a c
b708cadc6e8f tests: unify test-copy-move-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 5059
diff changeset
    25
  $ echo 2 >> b
b708cadc6e8f tests: unify test-copy-move-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 5059
diff changeset
    26
  $ echo 2 >> c
b708cadc6e8f tests: unify test-copy-move-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 5059
diff changeset
    27
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11972
diff changeset
    28
  $ hg ci -qAm "second"
5059
8d9bdcbb2b18 merge: avoid double deletion mentioned in issue636
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    29
11972
b708cadc6e8f tests: unify test-copy-move-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 5059
diff changeset
    30
  $ hg co -C 0
b708cadc6e8f tests: unify test-copy-move-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 5059
diff changeset
    31
  1 files updated, 0 files merged, 2 files removed, 0 files unresolved
b708cadc6e8f tests: unify test-copy-move-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 5059
diff changeset
    32
b708cadc6e8f tests: unify test-copy-move-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 5059
diff changeset
    33
  $ echo 0 > a
b708cadc6e8f tests: unify test-copy-move-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 5059
diff changeset
    34
  $ echo 1 >> a
b708cadc6e8f tests: unify test-copy-move-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 5059
diff changeset
    35
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11972
diff changeset
    36
  $ hg ci -qAm "other"
5059
8d9bdcbb2b18 merge: avoid double deletion mentioned in issue636
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    37
44258
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
    38
  $ hg log -G --patch
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
    39
  @  changeset:   2:add3f11052fa
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
    40
  |  tag:         tip
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
    41
  |  parent:      0:b8bf91eeebbc
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
    42
  |  user:        test
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
    43
  |  date:        Thu Jan 01 00:00:00 1970 +0000
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
    44
  |  summary:     other
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
    45
  |
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
    46
  |  diff --git a/a b/a
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
    47
  |  --- a/a
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
    48
  |  +++ b/a
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
    49
  |  @@ -1,1 +1,2 @@
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
    50
  |  +0
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
    51
  |   1
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
    52
  |
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
    53
  | o  changeset:   1:17c05bb7fcb6
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
    54
  |/   user:        test
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
    55
  |    date:        Thu Jan 01 00:00:00 1970 +0000
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
    56
  |    summary:     second
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
    57
  |
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
    58
  |    diff --git a/a b/b
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
    59
  |    rename from a
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
    60
  |    rename to b
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
    61
  |    --- a/a
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
    62
  |    +++ b/b
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
    63
  |    @@ -1,1 +1,2 @@
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
    64
  |     1
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
    65
  |    +2
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
    66
  |    diff --git a/a b/c
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
    67
  |    copy from a
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
    68
  |    copy to c
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
    69
  |    --- a/a
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
    70
  |    +++ b/c
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
    71
  |    @@ -1,1 +1,2 @@
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
    72
  |     1
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
    73
  |    +2
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
    74
  |
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
    75
  o  changeset:   0:b8bf91eeebbc
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
    76
     user:        test
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
    77
     date:        Thu Jan 01 00:00:00 1970 +0000
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
    78
     summary:     first
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
    79
  
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
    80
     diff --git a/a b/a
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
    81
     new file mode 100644
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
    82
     --- /dev/null
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
    83
     +++ b/a
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
    84
     @@ -0,0 +1,1 @@
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
    85
     +1
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
    86
  
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
    87
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
    88
Test Simple Merge
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
    89
=================
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
    90
11972
b708cadc6e8f tests: unify test-copy-move-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 5059
diff changeset
    91
  $ hg merge --debug
b708cadc6e8f tests: unify test-copy-move-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 5059
diff changeset
    92
    unmatched files in other:
b708cadc6e8f tests: unify test-copy-move-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 5059
diff changeset
    93
     b
b708cadc6e8f tests: unify test-copy-move-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 5059
diff changeset
    94
     c
16795
e9ae770eff1c merge: show renamed on one and deleted on the other side in debug output
Thomas Arendsen Hein <thomas@intevation.de>
parents: 15625
diff changeset
    95
    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: 42565
diff changeset
    96
     on remote side:
17e12938f8e7 copies: print debug information about copies per side/branch
Martin von Zweigbergk <martinvonz@google.com>
parents: 42565
diff changeset
    97
      src: 'a' -> dst: 'b' *
17e12938f8e7 copies: print debug information about copies per side/branch
Martin von Zweigbergk <martinvonz@google.com>
parents: 42565
diff changeset
    98
      src: 'a' -> dst: 'c' *
11972
b708cadc6e8f tests: unify test-copy-move-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 5059
diff changeset
    99
    checking for directory renames
b708cadc6e8f tests: unify test-copy-move-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 5059
diff changeset
   100
  resolving manifests
18605
bcf29565d89f manifestmerge: pass in branchmerge and force separately
Siddharth Agarwal <sid0@fb.com>
parents: 18541
diff changeset
   101
   branchmerge: True, force: False, partial: False
15625
efdcce3fd2d5 merge: make debug output easier to read
Martin Geisler <mg@aragost.com>
parents: 13956
diff changeset
   102
   ancestor: b8bf91eeebbc, local: add3f11052fa+, remote: 17c05bb7fcb6
46072
69429972ff1f tests: correct the output order about starting a background thread for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 45771
diff changeset
   103
  starting 4 threads for background file closing (?)
21391
cb15835456cb merge: change debug logging - test output changes but no real changes
Mads Kiilerich <madski@unity3d.com>
parents: 20945
diff changeset
   104
   preserving a for resolve of b
cb15835456cb merge: change debug logging - test output changes but no real changes
Mads Kiilerich <madski@unity3d.com>
parents: 20945
diff changeset
   105
   preserving a for resolve of c
cb15835456cb merge: change debug logging - test output changes but no real changes
Mads Kiilerich <madski@unity3d.com>
parents: 20945
diff changeset
   106
  removing a
48427
38941a28406a mergestate: merge `preresolve()` into `resolve()`
Martin von Zweigbergk <martinvonz@google.com>
parents: 46072
diff changeset
   107
   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: 26618
diff changeset
   108
  picked tool ':merge' for b (binary False symlink False changedelete False)
11972
b708cadc6e8f tests: unify test-copy-move-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 5059
diff changeset
   109
  merging a and b to b
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11972
diff changeset
   110
  my b@add3f11052fa+ other b@17c05bb7fcb6 ancestor a@b8bf91eeebbc
11972
b708cadc6e8f tests: unify test-copy-move-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 5059
diff changeset
   111
   premerge successful
48427
38941a28406a mergestate: merge `preresolve()` into `resolve()`
Martin von Zweigbergk <martinvonz@google.com>
parents: 46072
diff changeset
   112
   c: 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: 26618
diff changeset
   113
  picked tool ':merge' for c (binary False symlink False changedelete False)
11972
b708cadc6e8f tests: unify test-copy-move-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 5059
diff changeset
   114
  merging a and c to c
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11972
diff changeset
   115
  my c@add3f11052fa+ other c@17c05bb7fcb6 ancestor a@b8bf91eeebbc
11972
b708cadc6e8f tests: unify test-copy-move-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 5059
diff changeset
   116
   premerge successful
b708cadc6e8f tests: unify test-copy-move-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 5059
diff changeset
   117
  0 files updated, 2 files merged, 0 files removed, 0 files unresolved
b708cadc6e8f tests: unify test-copy-move-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 5059
diff changeset
   118
  (branch merge, don't forget to commit)
5059
8d9bdcbb2b18 merge: avoid double deletion mentioned in issue636
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   119
11972
b708cadc6e8f tests: unify test-copy-move-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 5059
diff changeset
   120
file b
b708cadc6e8f tests: unify test-copy-move-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 5059
diff changeset
   121
  $ cat b
b708cadc6e8f tests: unify test-copy-move-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 5059
diff changeset
   122
  0
b708cadc6e8f tests: unify test-copy-move-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 5059
diff changeset
   123
  1
b708cadc6e8f tests: unify test-copy-move-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 5059
diff changeset
   124
  2
5059
8d9bdcbb2b18 merge: avoid double deletion mentioned in issue636
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   125
11972
b708cadc6e8f tests: unify test-copy-move-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 5059
diff changeset
   126
file c
b708cadc6e8f tests: unify test-copy-move-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 5059
diff changeset
   127
  $ cat c
b708cadc6e8f tests: unify test-copy-move-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 5059
diff changeset
   128
  0
b708cadc6e8f tests: unify test-copy-move-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 5059
diff changeset
   129
  1
b708cadc6e8f tests: unify test-copy-move-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 5059
diff changeset
   130
  2
16913
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 16795
diff changeset
   131
26013
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   132
Test disabling copy tracing
44258
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
   133
===========================
26013
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   134
44258
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
   135
first verify copy metadata was kept
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
   136
-----------------------------------
26013
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   137
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   138
  $ hg up -qC 2
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   139
  $ hg rebase --keep -d 1 -b 2 --config extensions.rebase=
45771
f90a5c211251 rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 44258
diff changeset
   140
  rebasing 2:add3f11052fa tip "other"
26013
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   141
  merging b and a to b
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   142
  merging c and a to c
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   143
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   144
  $ cat b
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   145
  0
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   146
  1
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   147
  2
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   148
44258
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
   149
 next verify copy metadata is lost when disabled
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
   150
------------------------------------------------
26013
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   151
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   152
  $ hg strip -r . --config extensions.strip=
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   153
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34078
diff changeset
   154
  saved backup bundle to $TESTTMP/t/.hg/strip-backup/550bd84c0cd3-fc575957-backup.hg
26013
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   155
  $ hg up -qC 2
34077
26531db4647a copytrace: replace experimental.disablecopytrace config with copytrace (BC)
Pulkit Goyal <7895pulkit@gmail.com>
parents: 33332
diff changeset
   156
  $ hg rebase --keep -d 1 -b 2 --config extensions.rebase= --config experimental.copytrace=off --config ui.interactive=True << EOF
27596
c881367688fe test-copy-move-merge.t: explicitly request changed version
Siddharth Agarwal <sid0@fb.com>
parents: 27163
diff changeset
   157
  > c
c881367688fe test-copy-move-merge.t: explicitly request changed version
Siddharth Agarwal <sid0@fb.com>
parents: 27163
diff changeset
   158
  > EOF
45771
f90a5c211251 rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 44258
diff changeset
   159
  rebasing 2:add3f11052fa tip "other"
39285
a3fd84f4fb38 filemerge: fix the wrong placements of messages in prompt
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39284
diff changeset
   160
  file 'a' was deleted in local [dest] but was modified in other [source].
42565
4764e8436b2a filemerge: make last line of prompts <40 english chars (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 42167
diff changeset
   161
  You can use (c)hanged version, leave (d)eleted, or leave (u)nresolved.
4764e8436b2a filemerge: make last line of prompts <40 english chars (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 42167
diff changeset
   162
  What do you want to do? c
26013
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   163
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   164
  $ cat b
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   165
  1
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   166
  2
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   167
16913
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 16795
diff changeset
   168
  $ cd ..
26013
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   169
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   170
Verify disabling copy tracing still keeps copies from rebase source
44258
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
   171
-------------------------------------------------------------------
26013
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   172
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   173
  $ hg init copydisable
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   174
  $ cd copydisable
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   175
  $ touch a
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   176
  $ hg ci -Aqm 'add a'
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   177
  $ touch b
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   178
  $ hg ci -Aqm 'add b, c'
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   179
  $ hg cp b x
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   180
  $ echo x >> x
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   181
  $ hg ci -qm 'copy b->x'
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   182
  $ hg up -q 1
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   183
  $ touch z
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   184
  $ hg ci -Aqm 'add z'
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   185
  $ hg log -G -T '{rev} {desc}\n'
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   186
  @  3 add z
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   187
  |
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   188
  | o  2 copy b->x
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   189
  |/
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   190
  o  1 add b, c
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   191
  |
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   192
  o  0 add a
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   193
  
34077
26531db4647a copytrace: replace experimental.disablecopytrace config with copytrace (BC)
Pulkit Goyal <7895pulkit@gmail.com>
parents: 33332
diff changeset
   194
  $ hg rebase -d . -b 2 --config extensions.rebase= --config experimental.copytrace=off
26013
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   195
  rebasing 2:6adcf8c12e7d "copy b->x"
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34078
diff changeset
   196
  saved backup bundle to $TESTTMP/copydisable/.hg/strip-backup/6adcf8c12e7d-ce4b3e75-rebase.hg
26013
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   197
  $ hg up -q 3
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   198
  $ hg log -f x -T '{rev} {desc}\n'
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   199
  3 copy b->x
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   200
  1 add b, c
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   201
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   202
  $ cd ../
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   203
44258
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
   204
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
   205
test storage preservation
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
   206
-------------------------
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
   207
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
   208
Verify rebase do not discard recorded copies data when copy tracing usage is
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
   209
disabled.
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
   210
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
   211
Setup
26013
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   212
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   213
  $ hg init copydisable3
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   214
  $ cd copydisable3
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   215
  $ touch a
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   216
  $ hg ci -Aqm 'add a'
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   217
  $ hg cp a b
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   218
  $ hg ci -Aqm 'copy a->b'
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   219
  $ hg mv b c
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   220
  $ hg ci -Aqm 'move b->c'
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   221
  $ hg up -q 0
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   222
  $ hg cp a b
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   223
  $ echo b >> b
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   224
  $ hg ci -Aqm 'copy a->b (2)'
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   225
  $ hg log -G -T '{rev} {desc}\n'
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   226
  @  3 copy a->b (2)
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   227
  |
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   228
  | o  2 move b->c
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   229
  | |
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   230
  | o  1 copy a->b
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   231
  |/
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   232
  o  0 add a
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   233
  
44258
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
   234
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
   235
Actual Test
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
   236
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
   237
A file is copied on one side and has been moved twice on the other side. the
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
   238
file is copied from `0:a`, so the file history of the `3:b` should trace directly to `0:a`.
9659ec161644 test: document test-copy-move-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44197
diff changeset
   239
34077
26531db4647a copytrace: replace experimental.disablecopytrace config with copytrace (BC)
Pulkit Goyal <7895pulkit@gmail.com>
parents: 33332
diff changeset
   240
  $ hg rebase -d 2 -s 3 --config extensions.rebase= --config experimental.copytrace=off
45771
f90a5c211251 rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 44258
diff changeset
   241
  rebasing 3:47e1a9e6273b tip "copy a->b (2)"
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34078
diff changeset
   242
  saved backup bundle to $TESTTMP/copydisable3/.hg/strip-backup/47e1a9e6273b-2d099c59-rebase.hg
26013
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   243
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   244
  $ hg log -G -f b
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   245
  @  changeset:   3:76024fb4b05b
28627
d7af9b4ae7dd graphmod: set default edge styles for ascii graphs (BC)
Martijn Pieters <mjpieters@fb.com>
parents: 28318
diff changeset
   246
  :  tag:         tip
d7af9b4ae7dd graphmod: set default edge styles for ascii graphs (BC)
Martijn Pieters <mjpieters@fb.com>
parents: 28318
diff changeset
   247
  :  user:        test
d7af9b4ae7dd graphmod: set default edge styles for ascii graphs (BC)
Martijn Pieters <mjpieters@fb.com>
parents: 28318
diff changeset
   248
  :  date:        Thu Jan 01 00:00:00 1970 +0000
d7af9b4ae7dd graphmod: set default edge styles for ascii graphs (BC)
Martijn Pieters <mjpieters@fb.com>
parents: 28318
diff changeset
   249
  :  summary:     copy a->b (2)
d7af9b4ae7dd graphmod: set default edge styles for ascii graphs (BC)
Martijn Pieters <mjpieters@fb.com>
parents: 28318
diff changeset
   250
  :
26013
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   251
  o  changeset:   0:ac82d8b1f7c4
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   252
     user:        test
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   253
     date:        Thu Jan 01 00:00:00 1970 +0000
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   254
     summary:     add a
38f92d12357c copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents: 25125
diff changeset
   255