tests/test-copy-move-merge.t
author Simon Sapin <simon.sapin@octobus.net>
Fri, 30 Apr 2021 19:57:46 +0200
changeset 47124 cd8ca38fccff
parent 46072 69429972ff1f
child 48427 38941a28406a
permissions -rw-r--r--
rust: Use `&HgPath` instead of `&HgPathBuf` in may APIs Getting the former (through `Deref`) is almost the only useful thing one can do with the latter anyway. With this changes, API become more flexible for the "provider" of these paths which may store something else that Deref’s to HgPath, such as `std::borrow::Cow<HgPath>`. Using `Cow` can help reduce memory alloactions and copying. Differential Revision: https://phab.mercurial-scm.org/D10558
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
26618
8e6d5b7317e6 merge.mergestate: perform all premerges before any merges (BC)
Siddharth Agarwal <sid0@fb.com>
parents: 26517
diff changeset
   107
   b: remote moved from a -> 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
   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
26618
8e6d5b7317e6 merge.mergestate: perform all premerges before any merges (BC)
Siddharth Agarwal <sid0@fb.com>
parents: 26517
diff changeset
   112
   c: remote moved from a -> 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
   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