tests/test-copies-chain-merge.t
author Pierre-Yves David <pierre-yves.david@octobus.net>
Fri, 19 Feb 2021 20:46:33 +0100
changeset 46559 a1273bea99cc
parent 46558 eb60dadd1be1
child 46560 c7baff95808c
permissions -rw-r--r--
test-copies: introduce case combining the `p` and `q` branch That case involves conflicting copies information from each branch. It is similar to the `mAEm` / `mEAm` case except this case actual content merge is involved too. Differential Revision: https://phab.mercurial-scm.org/D10057
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
45735
edf4fa06df94 upgrade: allow sidedata upgrade to modify revision flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45733
diff changeset
     1
#testcases filelog compatibility changeset sidedata upgraded
44758
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
     2
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     3
=====================================================
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     4
Test Copy tracing for chain of copies involving merge
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     5
=====================================================
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     6
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     7
This test files covers copies/rename case for a chains of commit where merges
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     8
are involved. It cheks we do not have unwanted update of behavior and that the
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     9
different options to retrieve copies behave correctly.
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    10
44758
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
    11
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    12
Setup
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    13
=====
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    14
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    15
use git diff to see rename
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    16
46552
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
    17
  $ cat << EOF >> ./no-linkrev
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
    18
  > #!$PYTHON
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
    19
  > # filter out linkrev part of the debugindex command
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
    20
  > import sys
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
    21
  > for line in sys.stdin:
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
    22
  >     if " linkrev " in line:
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
    23
  >         print(line.rstrip())
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
    24
  >     else:
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
    25
  >         l = "%s       *%s" % (line[:6], line[14:].rstrip())
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
    26
  >         print(l)
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
    27
  > EOF
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
    28
  $ chmod +x no-linkrev
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
    29
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    30
  $ cat << EOF >> $HGRCPATH
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    31
  > [diff]
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    32
  > git=yes
45765
ed84a4d48910 config: add a new [command-templates] section for templates defined by hg
Martin von Zweigbergk <martinvonz@google.com>
parents: 45735
diff changeset
    33
  > [command-templates]
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
    34
  > log={desc}\n
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    35
  > EOF
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    36
44758
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
    37
#if compatibility
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
    38
  $ cat >> $HGRCPATH << EOF
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
    39
  > [experimental]
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
    40
  > copies.read-from = compatibility
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
    41
  > EOF
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
    42
#endif
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
    43
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
    44
#if changeset
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
    45
  $ cat >> $HGRCPATH << EOF
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
    46
  > [experimental]
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
    47
  > copies.read-from = changeset-only
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
    48
  > copies.write-to = changeset-only
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
    49
  > EOF
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
    50
#endif
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
    51
44758
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
    52
#if sidedata
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
    53
  $ cat >> $HGRCPATH << EOF
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
    54
  > [format]
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
    55
  > exp-use-side-data = yes
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
    56
  > exp-use-copies-side-data-changeset = yes
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
    57
  > EOF
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
    58
#endif
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
    59
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
    60
46531
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46527
diff changeset
    61
  $ cat > same-content.txt << EOF
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46527
diff changeset
    62
  > Here is some content that will be the same accros multiple file.
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46527
diff changeset
    63
  > 
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46527
diff changeset
    64
  > This is done on purpose so that we end up in some merge situation, were the
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46527
diff changeset
    65
  > resulting content is the same as in the parent(s), but a new filenodes still
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46527
diff changeset
    66
  > need to be created to record some file history information (especially
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46527
diff changeset
    67
  > about copies).
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46527
diff changeset
    68
  > EOF
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46527
diff changeset
    69
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    70
  $ hg init repo-chain
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    71
  $ cd repo-chain
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    72
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    73
Add some linear rename initialy
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    74
46531
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46527
diff changeset
    75
  $ cp ../same-content.txt a
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46527
diff changeset
    76
  $ cp ../same-content.txt b
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46527
diff changeset
    77
  $ cp ../same-content.txt h
46555
46205a478a08 test-copies: add 3 new files with their own content
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46554
diff changeset
    78
  $ echo "original content for P" > p
46205a478a08 test-copies: add 3 new files with their own content
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46554
diff changeset
    79
  $ echo "original content for Q" > q
46205a478a08 test-copies: add 3 new files with their own content
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46554
diff changeset
    80
  $ echo "original content for R" > r
44457
902b559202a6 copies-tests: add a `h` to the root commit (for chain merge tests)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44456
diff changeset
    81
  $ hg ci -Am 'i-0 initial commit: a b h'
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    82
  adding a
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    83
  adding b
44457
902b559202a6 copies-tests: add a `h` to the root commit (for chain merge tests)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44456
diff changeset
    84
  adding h
46555
46205a478a08 test-copies: add 3 new files with their own content
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46554
diff changeset
    85
  adding p
46205a478a08 test-copies: add 3 new files with their own content
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46554
diff changeset
    86
  adding q
46205a478a08 test-copies: add 3 new files with their own content
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46554
diff changeset
    87
  adding r
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    88
  $ hg mv a c
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
    89
  $ hg mv p s
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
    90
  $ hg ci -Am 'i-1: a -move-> c, p -move-> s'
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    91
  $ hg mv c d
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
    92
  $ hg mv s t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
    93
  $ hg ci -Am 'i-2: c -move-> d, s -move-> t'
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    94
  $ hg log -G
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
    95
  @  i-2: c -move-> d, s -move-> t
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    96
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
    97
  o  i-1: a -move-> c, p -move-> s
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    98
  |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
    99
  o  i-0 initial commit: a b h
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   100
  
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   101
44453
68e14fecd82a copies-tests: swap two branch description
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44444
diff changeset
   102
And having another branch with renames on the other side
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   103
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   104
  $ hg mv d e
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   105
  $ hg ci -Am 'a-1: d -move-> e'
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   106
  $ hg mv e f
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   107
  $ hg ci -Am 'a-2: e -move-> f'
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   108
  $ hg log -G --rev '::.'
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   109
  @  a-2: e -move-> f
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   110
  |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   111
  o  a-1: d -move-> e
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   112
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   113
  o  i-2: c -move-> d, s -move-> t
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   114
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   115
  o  i-1: a -move-> c, p -move-> s
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   116
  |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   117
  o  i-0 initial commit: a b h
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   118
  
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   119
44453
68e14fecd82a copies-tests: swap two branch description
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44444
diff changeset
   120
Have a branching with nothing on one side
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   121
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   122
  $ hg up 'desc("i-2")'
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   123
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   124
  $ echo foo > b
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   125
  $ hg ci -m 'b-1: b update'
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   126
  created new head
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   127
  $ hg log -G --rev '::.'
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   128
  @  b-1: b update
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   129
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   130
  o  i-2: c -move-> d, s -move-> t
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   131
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   132
  o  i-1: a -move-> c, p -move-> s
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   133
  |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   134
  o  i-0 initial commit: a b h
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   135
  
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   136
44677
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   137
Create a branch that delete a file previous renamed
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   138
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   139
  $ hg up 'desc("i-2")'
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   140
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   141
  $ hg rm d
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   142
  $ hg ci -m 'c-1 delete d'
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   143
  created new head
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   144
  $ hg log -G --rev '::.'
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   145
  @  c-1 delete d
44677
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   146
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   147
  o  i-2: c -move-> d, s -move-> t
44677
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   148
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   149
  o  i-1: a -move-> c, p -move-> s
44677
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   150
  |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   151
  o  i-0 initial commit: a b h
44677
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   152
  
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   153
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   154
Create a branch that delete a file previous renamed and recreate it
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   155
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   156
  $ hg up 'desc("i-2")'
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   157
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   158
  $ hg rm d
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   159
  $ hg ci -m 'd-1 delete d'
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   160
  created new head
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   161
  $ echo bar > d
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   162
  $ hg add d
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   163
  $ hg ci -m 'd-2 re-add d'
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   164
  $ hg log -G --rev '::.'
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   165
  @  d-2 re-add d
44677
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   166
  |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   167
  o  d-1 delete d
44677
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   168
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   169
  o  i-2: c -move-> d, s -move-> t
44677
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   170
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   171
  o  i-1: a -move-> c, p -move-> s
44677
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   172
  |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   173
  o  i-0 initial commit: a b h
44677
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   174
  
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   175
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   176
Having another branch renaming a different file to the same filename as another
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   177
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   178
  $ hg up 'desc("i-2")'
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   179
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   180
  $ hg mv b g
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   181
  $ hg ci -m 'e-1 b -move-> g'
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   182
  created new head
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   183
  $ hg mv g f
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   184
  $ hg ci -m 'e-2 g -move-> f'
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   185
  $ hg log -G --rev '::.'
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   186
  @  e-2 g -move-> f
44677
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   187
  |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   188
  o  e-1 b -move-> g
44677
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   189
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   190
  o  i-2: c -move-> d, s -move-> t
44677
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   191
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   192
  o  i-1: a -move-> c, p -move-> s
44677
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   193
  |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   194
  o  i-0 initial commit: a b h
44677
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   195
  
46557
067307d6589d test-copies: add a `p` branch similar to the `a` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46556
diff changeset
   196
  $ hg up -q null
067307d6589d test-copies: add a `p` branch similar to the `a` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46556
diff changeset
   197
067307d6589d test-copies: add a `p` branch similar to the `a` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46556
diff changeset
   198
Having a branch similar to the 'a' one, but moving the 'p' file around.
067307d6589d test-copies: add a `p` branch similar to the `a` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46556
diff changeset
   199
067307d6589d test-copies: add a `p` branch similar to the `a` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46556
diff changeset
   200
  $ hg up 'desc("i-2")'
067307d6589d test-copies: add a `p` branch similar to the `a` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46556
diff changeset
   201
  6 files updated, 0 files merged, 0 files removed, 0 files unresolved
067307d6589d test-copies: add a `p` branch similar to the `a` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46556
diff changeset
   202
  $ hg mv t u
067307d6589d test-copies: add a `p` branch similar to the `a` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46556
diff changeset
   203
  $ hg ci -Am 'p-1: t -move-> u'
067307d6589d test-copies: add a `p` branch similar to the `a` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46556
diff changeset
   204
  created new head
067307d6589d test-copies: add a `p` branch similar to the `a` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46556
diff changeset
   205
  $ hg mv u v
067307d6589d test-copies: add a `p` branch similar to the `a` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46556
diff changeset
   206
  $ hg ci -Am 'p-2: u -move-> v'
067307d6589d test-copies: add a `p` branch similar to the `a` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46556
diff changeset
   207
  $ hg log -G --rev '::.'
067307d6589d test-copies: add a `p` branch similar to the `a` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46556
diff changeset
   208
  @  p-2: u -move-> v
067307d6589d test-copies: add a `p` branch similar to the `a` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46556
diff changeset
   209
  |
067307d6589d test-copies: add a `p` branch similar to the `a` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46556
diff changeset
   210
  o  p-1: t -move-> u
067307d6589d test-copies: add a `p` branch similar to the `a` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46556
diff changeset
   211
  |
067307d6589d test-copies: add a `p` branch similar to the `a` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46556
diff changeset
   212
  o  i-2: c -move-> d, s -move-> t
067307d6589d test-copies: add a `p` branch similar to the `a` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46556
diff changeset
   213
  |
067307d6589d test-copies: add a `p` branch similar to the `a` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46556
diff changeset
   214
  o  i-1: a -move-> c, p -move-> s
067307d6589d test-copies: add a `p` branch similar to the `a` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46556
diff changeset
   215
  |
067307d6589d test-copies: add a `p` branch similar to the `a` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46556
diff changeset
   216
  o  i-0 initial commit: a b h
067307d6589d test-copies: add a `p` branch similar to the `a` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46556
diff changeset
   217
  
067307d6589d test-copies: add a `p` branch similar to the `a` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46556
diff changeset
   218
  $ hg up -q null
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   219
46558
eb60dadd1be1 test-copies: add a `q` branch similar to the `e` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46557
diff changeset
   220
Having another branch renaming a different file to the same filename as another
eb60dadd1be1 test-copies: add a `q` branch similar to the `e` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46557
diff changeset
   221
eb60dadd1be1 test-copies: add a `q` branch similar to the `e` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46557
diff changeset
   222
  $ hg up 'desc("i-2")'
eb60dadd1be1 test-copies: add a `q` branch similar to the `e` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46557
diff changeset
   223
  6 files updated, 0 files merged, 0 files removed, 0 files unresolved
eb60dadd1be1 test-copies: add a `q` branch similar to the `e` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46557
diff changeset
   224
  $ hg mv r w
eb60dadd1be1 test-copies: add a `q` branch similar to the `e` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46557
diff changeset
   225
  $ hg ci -m 'q-1 r -move-> w'
eb60dadd1be1 test-copies: add a `q` branch similar to the `e` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46557
diff changeset
   226
  created new head
eb60dadd1be1 test-copies: add a `q` branch similar to the `e` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46557
diff changeset
   227
  $ hg mv w v
eb60dadd1be1 test-copies: add a `q` branch similar to the `e` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46557
diff changeset
   228
  $ hg ci -m 'q-2 w -move-> v'
eb60dadd1be1 test-copies: add a `q` branch similar to the `e` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46557
diff changeset
   229
  $ hg log -G --rev '::.'
eb60dadd1be1 test-copies: add a `q` branch similar to the `e` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46557
diff changeset
   230
  @  q-2 w -move-> v
eb60dadd1be1 test-copies: add a `q` branch similar to the `e` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46557
diff changeset
   231
  |
eb60dadd1be1 test-copies: add a `q` branch similar to the `e` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46557
diff changeset
   232
  o  q-1 r -move-> w
eb60dadd1be1 test-copies: add a `q` branch similar to the `e` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46557
diff changeset
   233
  |
eb60dadd1be1 test-copies: add a `q` branch similar to the `e` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46557
diff changeset
   234
  o  i-2: c -move-> d, s -move-> t
eb60dadd1be1 test-copies: add a `q` branch similar to the `e` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46557
diff changeset
   235
  |
eb60dadd1be1 test-copies: add a `q` branch similar to the `e` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46557
diff changeset
   236
  o  i-1: a -move-> c, p -move-> s
eb60dadd1be1 test-copies: add a `q` branch similar to the `e` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46557
diff changeset
   237
  |
eb60dadd1be1 test-copies: add a `q` branch similar to the `e` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46557
diff changeset
   238
  o  i-0 initial commit: a b h
eb60dadd1be1 test-copies: add a `q` branch similar to the `e` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46557
diff changeset
   239
  
eb60dadd1be1 test-copies: add a `q` branch similar to the `e` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46557
diff changeset
   240
  $ hg up -q null
eb60dadd1be1 test-copies: add a `q` branch similar to the `e` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46557
diff changeset
   241
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   242
Setup all merge
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   243
===============
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   244
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   245
This is done beforehand to validate that the upgrade process creates valid copy
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   246
information.
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   247
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
   248
merging with unrelated change does not interfere with the renames
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
   249
---------------------------------------------------------------
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
   250
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
   251
- rename on one side
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
   252
- unrelated change on the other side
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   253
46533
e20977208924 test-copies: improve description of the A+B case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46532
diff changeset
   254
  $ case_desc="simple merge - A side: multiple renames, B side: unrelated update"
46532
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46531
diff changeset
   255
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   256
  $ hg up 'desc("b-1")'
46557
067307d6589d test-copies: add a `p` branch similar to the `a` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46556
diff changeset
   257
  6 files updated, 0 files merged, 0 files removed, 0 files unresolved
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   258
  $ hg merge 'desc("a-2")'
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   259
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   260
  (branch merge, don't forget to commit)
46532
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46531
diff changeset
   261
  $ hg ci -m "mBAm-0 $case_desc - one way"
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   262
  $ hg up 'desc("a-2")'
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   263
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   264
  $ hg merge 'desc("b-1")'
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   265
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   266
  (branch merge, don't forget to commit)
46532
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46531
diff changeset
   267
  $ hg ci -m "mABm-0 $case_desc - the other way"
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   268
  created new head
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   269
  $ hg log -G --rev '::(desc("mABm")+desc("mBAm"))'
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   270
  @    mABm-0 simple merge - A side: multiple renames, B side: unrelated update - the other way
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   271
  |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   272
  +---o  mBAm-0 simple merge - A side: multiple renames, B side: unrelated update - one way
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   273
  | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   274
  | o  b-1: b update
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   275
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   276
  o |  a-2: e -move-> f
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   277
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   278
  o |  a-1: d -move-> e
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   279
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   280
  o  i-2: c -move-> d, s -move-> t
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   281
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   282
  o  i-1: a -move-> c, p -move-> s
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   283
  |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   284
  o  i-0 initial commit: a b h
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   285
  
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   286
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   287
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   288
merging with the side having a delete
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   289
-------------------------------------
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   290
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   291
case summary:
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   292
- one with change to an unrelated file
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   293
- one deleting the change
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   294
and recreate an unrelated file after the merge
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   295
46534
979838adc46b test-copies: improve description of the B+C case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46533
diff changeset
   296
  $ case_desc="simple merge - C side: delete a file with copies history , B side: unrelated update"
46532
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46531
diff changeset
   297
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   298
  $ hg up 'desc("b-1")'
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   299
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   300
  $ hg merge 'desc("c-1")'
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   301
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   302
  (branch merge, don't forget to commit)
46532
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46531
diff changeset
   303
  $ hg ci -m "mBCm-0 $case_desc - one way"
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   304
  $ echo bar > d
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   305
  $ hg add d
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   306
  $ hg ci -m 'mBCm-1 re-add d'
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   307
  $ hg up 'desc("c-1")'
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   308
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   309
  $ hg merge 'desc("b-1")'
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   310
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   311
  (branch merge, don't forget to commit)
46532
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46531
diff changeset
   312
  $ hg ci -m "mCBm-0 $case_desc - the other way"
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   313
  created new head
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   314
  $ echo bar > d
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   315
  $ hg add d
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   316
  $ hg ci -m 'mCBm-1 re-add d'
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   317
  $ hg log -G --rev '::(desc("mCBm")+desc("mBCm"))'
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   318
  @  mCBm-1 re-add d
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   319
  |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   320
  o    mCBm-0 simple merge - C side: delete a file with copies history , B side: unrelated update - the other way
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   321
  |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   322
  | | o  mBCm-1 re-add d
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   323
  | | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   324
  +---o  mBCm-0 simple merge - C side: delete a file with copies history , B side: unrelated update - one way
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   325
  | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   326
  | o  c-1 delete d
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   327
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   328
  o |  b-1: b update
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   329
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   330
  o  i-2: c -move-> d, s -move-> t
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   331
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   332
  o  i-1: a -move-> c, p -move-> s
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   333
  |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   334
  o  i-0 initial commit: a b h
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   335
  
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   336
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   337
Comparing with a merge re-adding the file afterward
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   338
---------------------------------------------------
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   339
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   340
Merge:
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   341
- one with change to an unrelated file
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   342
- one deleting and recreating the change
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   343
46535
9a58f9eed303 test-copies: improve description of the B+D case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46534
diff changeset
   344
  $ case_desc="simple merge - B side: unrelated update, D side: delete and recreate a file (with different content)"
46532
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46531
diff changeset
   345
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   346
  $ hg up 'desc("b-1")'
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   347
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   348
  $ hg merge 'desc("d-2")'
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   349
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   350
  (branch merge, don't forget to commit)
46532
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46531
diff changeset
   351
  $ hg ci -m "mBDm-0 $case_desc - one way"
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   352
  $ hg up 'desc("d-2")'
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   353
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   354
  $ hg merge 'desc("b-1")'
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   355
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   356
  (branch merge, don't forget to commit)
46532
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46531
diff changeset
   357
  $ hg ci -m "mDBm-0 $case_desc - the other way"
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   358
  created new head
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   359
  $ hg log -G --rev '::(desc("mDBm")+desc("mBDm"))'
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   360
  @    mDBm-0 simple merge - B side: unrelated update, D side: delete and recreate a file (with different content) - the other way
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   361
  |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   362
  +---o  mBDm-0 simple merge - B side: unrelated update, D side: delete and recreate a file (with different content) - one way
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   363
  | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   364
  | o  d-2 re-add d
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   365
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   366
  | o  d-1 delete d
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   367
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   368
  o |  b-1: b update
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   369
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   370
  o  i-2: c -move-> d, s -move-> t
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   371
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   372
  o  i-1: a -move-> c, p -move-> s
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   373
  |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   374
  o  i-0 initial commit: a b h
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   375
  
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   376
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   377
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   378
Comparing with a merge with colliding rename
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   379
--------------------------------------------
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   380
46543
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46542
diff changeset
   381
Subcase: new copy information on both side
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46542
diff changeset
   382
``````````````````````````````````````````
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46542
diff changeset
   383
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   384
- the "e-" branch renaming b to f (through 'g')
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   385
- the "a-" branch renaming d to f (through e)
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   386
46536
19f490690880 test-copies: improve description of the A+E case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46535
diff changeset
   387
  $ case_desc="merge with copies info on both side - A side: rename d to f, E side: b to f, (same content for f)"
46532
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46531
diff changeset
   388
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   389
  $ hg up 'desc("a-2")'
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   390
  2 files updated, 0 files merged, 1 files removed, 0 files unresolved
46527
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
   391
  $ hg merge 'desc("e-2")'
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
   392
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved (no-changeset !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
   393
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved (changeset !)
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   394
  (branch merge, don't forget to commit)
46532
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46531
diff changeset
   395
  $ hg ci -m "mAEm-0 $case_desc - one way"
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   396
  $ hg up 'desc("e-2")'
46527
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
   397
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved (no-changeset !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
   398
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved (changeset !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
   399
  $ hg merge 'desc("a-2")'
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
   400
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved (no-changeset !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
   401
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved (changeset !)
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   402
  (branch merge, don't forget to commit)
46532
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46531
diff changeset
   403
  $ hg ci -m "mEAm-0 $case_desc - the other way"
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   404
  created new head
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   405
  $ hg log -G --rev '::(desc("mAEm")+desc("mEAm"))'
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   406
  @    mEAm-0 merge with copies info on both side - A side: rename d to f, E side: b to f, (same content for f) - the other way
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   407
  |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   408
  +---o  mAEm-0 merge with copies info on both side - A side: rename d to f, E side: b to f, (same content for f) - one way
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   409
  | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   410
  | o  e-2 g -move-> f
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   411
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   412
  | o  e-1 b -move-> g
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   413
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   414
  o |  a-2: e -move-> f
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   415
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   416
  o |  a-1: d -move-> e
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   417
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   418
  o  i-2: c -move-> d, s -move-> t
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   419
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   420
  o  i-1: a -move-> c, p -move-> s
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   421
  |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   422
  o  i-0 initial commit: a b h
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   423
  
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   424
46559
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   425
Subcase: new copy information on both side with an actual merge happening
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   426
`````````````````````````````````````````````````````````````````````````
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   427
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   428
- the "p-" branch renaming 't' to 'v' (through 'u')
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   429
- the "q-" branch renaming 'r' to 'v' (through 'w')
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   430
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   431
  $ case_desc="merge with copies info on both side - P side: rename t to v, Q side: r to v, (different content)"
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   432
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   433
  $ hg up 'desc("p-2")'
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   434
  3 files updated, 0 files merged, 2 files removed, 0 files unresolved
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   435
  $ hg merge 'desc("q-2")' --tool ':union'
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   436
  merging v
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   437
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   438
  (branch merge, don't forget to commit)
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   439
  $ hg ci -m "mPQm-0 $case_desc - one way"
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   440
  $ hg up 'desc("q-2")'
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   441
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   442
  $ hg merge 'desc("p-2")' --tool ':union'
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   443
  merging v
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   444
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   445
  (branch merge, don't forget to commit)
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   446
  $ hg ci -m "mQPm-0 $case_desc - the other way"
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   447
  created new head
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   448
  $ hg log -G --rev '::(desc("mAEm")+desc("mEAm"))'
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   449
  o    mEAm-0 merge with copies info on both side - A side: rename d to f, E side: b to f, (same content for f) - the other way
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   450
  |\
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   451
  +---o  mAEm-0 merge with copies info on both side - A side: rename d to f, E side: b to f, (same content for f) - one way
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   452
  | |/
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   453
  | o  e-2 g -move-> f
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   454
  | |
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   455
  | o  e-1 b -move-> g
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   456
  | |
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   457
  o |  a-2: e -move-> f
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   458
  | |
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   459
  o |  a-1: d -move-> e
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   460
  |/
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   461
  o  i-2: c -move-> d, s -move-> t
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   462
  |
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   463
  o  i-1: a -move-> c, p -move-> s
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   464
  |
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   465
  o  i-0 initial commit: a b h
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   466
  
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   467
46543
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46542
diff changeset
   468
Subcase: existing copy information overwritten on one branch
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46542
diff changeset
   469
````````````````````````````````````````````````````````````
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   470
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   471
Merge:
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   472
- one with change to an unrelated file (b)
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   473
- one overwriting a file (d) with a rename (from h to i to d)
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   474
46542
f8888f5c8c50 test-copies: improve description of the B+F case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46541
diff changeset
   475
  $ case_desc="simple merge - B side: unrelated change, F side: overwrite d with a copy (from h->i->d)"
46532
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46531
diff changeset
   476
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   477
  $ hg up 'desc("i-2")'
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   478
  2 files updated, 0 files merged, 1 files removed, 0 files unresolved
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   479
  $ hg mv h i
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   480
  $ hg commit -m "f-1: rename h -> i"
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   481
  created new head
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   482
  $ hg mv --force i d
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   483
  $ hg commit -m "f-2: rename i -> d"
46552
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
   484
  $ hg debugindex d | ../no-linkrev
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   485
     rev linkrev nodeid       p1           p2
46552
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
   486
       0       * d8252ab2e760 000000000000 000000000000 (no-changeset !)
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
   487
       0       * ae258f702dfe 000000000000 000000000000 (changeset !)
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
   488
       1       * b004912a8510 000000000000 000000000000
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
   489
       2       * 7b79e2fe0c89 000000000000 000000000000 (no-changeset !)
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   490
  $ hg up 'desc("b-1")'
46527
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
   491
  3 files updated, 0 files merged, 0 files removed, 0 files unresolved (no-changeset !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
   492
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved (changeset !)
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   493
  $ hg merge 'desc("f-2")'
46527
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
   494
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved (no-changeset !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
   495
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved (changeset !)
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   496
  (branch merge, don't forget to commit)
46532
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46531
diff changeset
   497
  $ hg ci -m "mBFm-0 $case_desc - one way"
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   498
  $ hg up 'desc("f-2")'
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   499
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   500
  $ hg merge 'desc("b-1")'
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   501
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   502
  (branch merge, don't forget to commit)
46532
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46531
diff changeset
   503
  $ hg ci -m "mFBm-0 $case_desc - the other way"
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   504
  created new head
46559
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   505
  $ hg up null --quiet
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   506
  $ hg log -G --rev '::(desc("mBFm")+desc("mFBm"))'
46559
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   507
  o    mFBm-0 simple merge - B side: unrelated change, F side: overwrite d with a copy (from h->i->d) - the other way
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   508
  |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   509
  +---o  mBFm-0 simple merge - B side: unrelated change, F side: overwrite d with a copy (from h->i->d) - one way
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   510
  | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   511
  | o  f-2: rename i -> d
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   512
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   513
  | o  f-1: rename h -> i
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   514
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   515
  o |  b-1: b update
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   516
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   517
  o  i-2: c -move-> d, s -move-> t
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   518
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   519
  o  i-1: a -move-> c, p -move-> s
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   520
  |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   521
  o  i-0 initial commit: a b h
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   522
  
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   523
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   524
46543
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46542
diff changeset
   525
Subcase: reset of the copy history on one side
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46542
diff changeset
   526
``````````````````````````````````````````````
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46542
diff changeset
   527
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   528
Merge:
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   529
- one with change to a file
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   530
- one deleting and recreating the file
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   531
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   532
Unlike in the 'BD/DB' cases, an actual merge happened here. So we should
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   533
consider history and rename on both branch of the merge.
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   534
46537
1e96fdcc8bc1 test-copies: improve description of the D+G case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46536
diff changeset
   535
  $ case_desc="actual content merge, copies on one side - D side: delete and re-add (different content), G side: update content"
46532
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46531
diff changeset
   536
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   537
  $ hg up 'desc("i-2")'
46559
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   538
  6 files updated, 0 files merged, 0 files removed, 0 files unresolved
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   539
  $ echo "some update" >> d
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   540
  $ hg commit -m "g-1: update d"
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   541
  created new head
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   542
  $ hg up 'desc("d-2")'
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   543
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   544
  $ hg merge 'desc("g-1")' --tool :union
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   545
  merging d
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   546
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   547
  (branch merge, don't forget to commit)
46532
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46531
diff changeset
   548
  $ hg ci -m "mDGm-0 $case_desc - one way"
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   549
  $ hg up 'desc("g-1")'
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   550
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   551
  $ hg merge 'desc("d-2")' --tool :union
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   552
  merging d
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   553
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   554
  (branch merge, don't forget to commit)
46532
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46531
diff changeset
   555
  $ hg ci -m "mGDm-0 $case_desc - the other way"
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   556
  created new head
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   557
  $ hg log -G --rev '::(desc("mDGm")+desc("mGDm"))'
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   558
  @    mGDm-0 actual content merge, copies on one side - D side: delete and re-add (different content), G side: update content - the other way
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   559
  |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   560
  +---o  mDGm-0 actual content merge, copies on one side - D side: delete and re-add (different content), G side: update content - one way
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   561
  | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   562
  | o  g-1: update d
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   563
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   564
  o |  d-2 re-add d
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   565
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   566
  o |  d-1 delete d
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   567
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   568
  o  i-2: c -move-> d, s -move-> t
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   569
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   570
  o  i-1: a -move-> c, p -move-> s
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   571
  |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   572
  o  i-0 initial commit: a b h
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   573
  
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   574
46543
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46542
diff changeset
   575
Subcase: merging a change to a file with a "copy overwrite" to that file from another branch
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46542
diff changeset
   576
````````````````````````````````````````````````````````````````````````````````````````````
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   577
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   578
Merge:
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   579
- one with change to a file (d)
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   580
- one overwriting that file with a rename (from h to i, to d)
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   581
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   582
This case is similar to BF/FB, but an actual merge happens, so both side of the
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   583
history are relevant.
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   584
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   585
Note:
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   586
| In this case, the merge get conflicting information since on one side we have
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   587
| "a -> c -> d". and one the other one we have "h -> i -> d".
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   588
|
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   589
| The current code arbitrarily pick one side
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   590
46538
2f99dedf96b1 test-copies: improve description of the G+F case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46537
diff changeset
   591
  $ case_desc="merge - G side: content change, F side: copy overwrite, no content change"
46532
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46531
diff changeset
   592
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   593
  $ hg up 'desc("f-2")'
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   594
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   595
  $ hg merge 'desc("g-1")' --tool :union
46527
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
   596
  merging d (no-changeset !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
   597
  0 files updated, 1 files merged, 0 files removed, 0 files unresolved (no-changeset !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
   598
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved (changeset !)
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   599
  (branch merge, don't forget to commit)
46532
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46531
diff changeset
   600
  $ hg ci -m "mFGm-0 $case_desc - one way"
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   601
  created new head
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   602
  $ hg up 'desc("g-1")'
46527
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
   603
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved (no-changeset !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
   604
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved (changeset !)
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   605
  $ hg merge 'desc("f-2")' --tool :union
46527
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
   606
  merging d (no-changeset !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
   607
  0 files updated, 1 files merged, 1 files removed, 0 files unresolved (no-changeset !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
   608
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved (changeset !)
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   609
  (branch merge, don't forget to commit)
46532
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46531
diff changeset
   610
  $ hg ci -m "mGFm-0 $case_desc - the other way"
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   611
  created new head
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   612
  $ hg log -G --rev '::(desc("mGFm")+desc("mFGm"))'
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   613
  @    mGFm-0 merge - G side: content change, F side: copy overwrite, no content change - the other way
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   614
  |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   615
  +---o  mFGm-0 merge - G side: content change, F side: copy overwrite, no content change - one way
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   616
  | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   617
  | o  g-1: update d
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   618
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   619
  o |  f-2: rename i -> d
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   620
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   621
  o |  f-1: rename h -> i
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   622
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   623
  o  i-2: c -move-> d, s -move-> t
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   624
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   625
  o  i-1: a -move-> c, p -move-> s
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   626
  |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   627
  o  i-0 initial commit: a b h
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   628
  
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   629
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   630
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   631
Comparing with merging with a deletion (and keeping the file)
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   632
-------------------------------------------------------------
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   633
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   634
Merge:
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   635
- one removing a file (d)
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   636
- one updating that file
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   637
- the merge keep the modified version of the file (canceling the delete)
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   638
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   639
In this case, the file keep on living after the merge. So we should not drop its
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   640
copy tracing chain.
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   641
46539
a1a06dca6941 test-copies: improve description of the G+C case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46538
diff changeset
   642
  $ case_desc="merge updated/deleted - revive the file (updated content)"
a1a06dca6941 test-copies: improve description of the G+C case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46538
diff changeset
   643
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   644
  $ hg up 'desc("c-1")'
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   645
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   646
  $ hg merge 'desc("g-1")'
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   647
  file 'd' was deleted in local [working copy] but was modified in other [merge rev].
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   648
  You can use (c)hanged version, leave (d)eleted, or leave (u)nresolved.
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   649
  What do you want to do? u
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   650
  0 files updated, 0 files merged, 0 files removed, 1 files unresolved
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   651
  use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   652
  [1]
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   653
  $ hg resolve -t :other d
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   654
  (no more unresolved files)
46539
a1a06dca6941 test-copies: improve description of the G+C case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46538
diff changeset
   655
  $ hg ci -m "mCGm-0 $case_desc - one way"
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   656
  created new head
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   657
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   658
  $ hg up 'desc("g-1")'
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   659
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   660
  $ hg merge 'desc("c-1")'
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   661
  file 'd' was deleted in other [merge rev] but was modified in local [working copy].
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   662
  You can use (c)hanged version, (d)elete, or leave (u)nresolved.
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   663
  What do you want to do? u
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   664
  0 files updated, 0 files merged, 0 files removed, 1 files unresolved
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   665
  use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   666
  [1]
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   667
  $ hg resolve -t :local d
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   668
  (no more unresolved files)
46539
a1a06dca6941 test-copies: improve description of the G+C case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46538
diff changeset
   669
  $ hg ci -m "mGCm-0 $case_desc - the other way"
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   670
  created new head
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   671
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   672
  $ hg log -G --rev '::(desc("mCGm")+desc("mGCm"))'
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   673
  @    mGCm-0 merge updated/deleted - revive the file (updated content) - the other way
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   674
  |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   675
  +---o  mCGm-0 merge updated/deleted - revive the file (updated content) - one way
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   676
  | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   677
  | o  g-1: update d
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   678
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   679
  o |  c-1 delete d
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   680
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   681
  o  i-2: c -move-> d, s -move-> t
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   682
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   683
  o  i-1: a -move-> c, p -move-> s
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   684
  |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   685
  o  i-0 initial commit: a b h
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   686
  
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   687
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   688
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   689
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   690
Comparing with merge restoring an untouched deleted file
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   691
--------------------------------------------------------
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   692
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   693
Merge:
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   694
- one removing a file (d)
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   695
- one leaving the file untouched
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   696
- the merge actively restore the file to the same content.
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   697
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   698
In this case, the file keep on living after the merge. So we should not drop its
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   699
copy tracing chain.
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   700
46540
311a18777f45 test-copies: improve description of the B+C "revert/restore" case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46539
diff changeset
   701
  $ case_desc="merge explicitely revive deleted file - B side: unrelated change, C side: delete d (restored by merge)"
311a18777f45 test-copies: improve description of the B+C "revert/restore" case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46539
diff changeset
   702
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   703
  $ hg up 'desc("c-1")'
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   704
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   705
  $ hg merge 'desc("b-1")'
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   706
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   707
  (branch merge, don't forget to commit)
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   708
  $ hg revert --rev 'desc("b-1")' d
46540
311a18777f45 test-copies: improve description of the B+C "revert/restore" case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46539
diff changeset
   709
  $ hg ci -m "mCB-revert-m-0 $case_desc - one way"
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   710
  created new head
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   711
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   712
  $ hg up 'desc("b-1")'
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   713
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   714
  $ hg merge 'desc("c-1")'
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   715
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   716
  (branch merge, don't forget to commit)
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   717
  $ hg revert --rev 'desc("b-1")' d
46540
311a18777f45 test-copies: improve description of the B+C "revert/restore" case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46539
diff changeset
   718
  $ hg ci -m "mBC-revert-m-0 $case_desc - the other way"
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   719
  created new head
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   720
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   721
  $ hg log -G --rev '::(desc("mCB-revert-m")+desc("mBC-revert-m"))'
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   722
  @    mBC-revert-m-0 merge explicitely revive deleted file - B side: unrelated change, C side: delete d (restored by merge) - the other way
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   723
  |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   724
  +---o  mCB-revert-m-0 merge explicitely revive deleted file - B side: unrelated change, C side: delete d (restored by merge) - one way
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   725
  | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   726
  | o  c-1 delete d
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   727
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   728
  o |  b-1: b update
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   729
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   730
  o  i-2: c -move-> d, s -move-> t
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   731
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   732
  o  i-1: a -move-> c, p -move-> s
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   733
  |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   734
  o  i-0 initial commit: a b h
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   735
  
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   736
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   737
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   738
  $ hg up null --quiet
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   739
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
   740
Merging a branch where a rename was deleted with a branch where the same file was renamed
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
   741
------------------------------------------------------------------------------------------
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
   742
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
   743
Create a "conflicting" merge where `d` get removed on one branch before its
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
   744
rename information actually conflict with the other branch.
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
   745
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
   746
(the copy information from the branch that was not deleted should win).
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
   747
46541
60c52bdb1784 test-copies: improve description of the C+H case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46540
diff changeset
   748
  $ case_desc="simple merge - C side: d is the results of renames then deleted, H side: d is result of another rename (same content as the other branch)"
60c52bdb1784 test-copies: improve description of the C+H case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46540
diff changeset
   749
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
   750
  $ hg up 'desc("i-0")'
46555
46205a478a08 test-copies: add 3 new files with their own content
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46554
diff changeset
   751
  6 files updated, 0 files merged, 0 files removed, 0 files unresolved
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
   752
  $ hg mv b d
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
   753
  $ hg ci -m "h-1: b -(move)-> d"
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
   754
  created new head
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
   755
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
   756
  $ hg up 'desc("c-1")'
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   757
  2 files updated, 0 files merged, 3 files removed, 0 files unresolved
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
   758
  $ hg merge 'desc("h-1")'
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
   759
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
   760
  (branch merge, don't forget to commit)
46541
60c52bdb1784 test-copies: improve description of the C+H case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46540
diff changeset
   761
  $ hg ci -m "mCH-delete-before-conflict-m-0 $case_desc - one way"
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
   762
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
   763
  $ hg up 'desc("h-1")'
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   764
  2 files updated, 0 files merged, 1 files removed, 0 files unresolved
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
   765
  $ hg merge 'desc("c-1")'
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   766
  1 files updated, 0 files merged, 2 files removed, 0 files unresolved
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
   767
  (branch merge, don't forget to commit)
46541
60c52bdb1784 test-copies: improve description of the C+H case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46540
diff changeset
   768
  $ hg ci -m "mHC-delete-before-conflict-m-0 $case_desc - the other way"
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
   769
  created new head
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
   770
  $ hg log -G --rev '::(desc("mCH-delete-before-conflict-m")+desc("mHC-delete-before-conflict-m"))'
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   771
  @    mHC-delete-before-conflict-m-0 simple merge - C side: d is the results of renames then deleted, H side: d is result of another rename (same content as the other branch) - the other way
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
   772
  |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   773
  +---o  mCH-delete-before-conflict-m-0 simple merge - C side: d is the results of renames then deleted, H side: d is result of another rename (same content as the other branch) - one way
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
   774
  | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   775
  | o  h-1: b -(move)-> d
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
   776
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   777
  o |  c-1 delete d
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
   778
  | |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   779
  o |  i-2: c -move-> d, s -move-> t
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
   780
  | |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   781
  o |  i-1: a -move-> c, p -move-> s
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
   782
  |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   783
  o  i-0 initial commit: a b h
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
   784
  
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
   785
46553
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   786
Variant of previous with extra changes introduced by the merge
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   787
--------------------------------------------------------------
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   788
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   789
Multiple cases above explicitely test cases where content are the same on both side during merge. In this section we will introduce variants for theses cases where new change are introduced to these file content during the merges.
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   790
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   791
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   792
Subcase: merge has same initial content on both side, but merge introduced a change
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   793
```````````````````````````````````````````````````````````````````````````````````
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   794
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   795
Same as `mAEm` and `mEAm` but with extra change to the file before commiting
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   796
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   797
- the "e-" branch renaming b to f (through 'g')
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   798
- the "a-" branch renaming d to f (through e)
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   799
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   800
  $ case_desc="merge with file update and copies info on both side - A side: rename d to f, E side: b to f, (same content for f in parent)"
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   801
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   802
  $ hg up 'desc("a-2")'
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   803
  2 files updated, 0 files merged, 1 files removed, 0 files unresolved
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   804
  $ hg merge 'desc("e-2")'
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   805
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved (no-changeset !)
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   806
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved (changeset !)
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   807
  (branch merge, don't forget to commit)
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   808
  $ echo "content change for mAE-change-m" > f
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   809
  $ hg ci -m "mAE-change-m-0 $case_desc - one way"
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   810
  created new head
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   811
  $ hg up 'desc("e-2")'
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   812
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   813
  $ hg merge 'desc("a-2")'
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   814
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved (no-changeset !)
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   815
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved (changeset !)
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   816
  (branch merge, don't forget to commit)
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   817
  $ echo "content change for mEA-change-m" > f
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   818
  $ hg ci -m "mEA-change-m-0 $case_desc - the other way"
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   819
  created new head
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   820
  $ hg log -G --rev '::(desc("mAE-change-m")+desc("mEA-change-m"))'
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   821
  @    mEA-change-m-0 merge with file update and copies info on both side - A side: rename d to f, E side: b to f, (same content for f in parent) - the other way
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   822
  |\
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   823
  +---o  mAE-change-m-0 merge with file update and copies info on both side - A side: rename d to f, E side: b to f, (same content for f in parent) - one way
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   824
  | |/
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   825
  | o  e-2 g -move-> f
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   826
  | |
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   827
  | o  e-1 b -move-> g
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   828
  | |
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   829
  o |  a-2: e -move-> f
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   830
  | |
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   831
  o |  a-1: d -move-> e
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   832
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   833
  o  i-2: c -move-> d, s -move-> t
46553
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   834
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   835
  o  i-1: a -move-> c, p -move-> s
46553
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   836
  |
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   837
  o  i-0 initial commit: a b h
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   838
  
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   839
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   840
Decision from previous merge are properly chained with later merge
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   841
------------------------------------------------------------------
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   842
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   843
Subcase: chaining conflicting rename resolution
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   844
```````````````````````````````````````````````
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   845
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   846
The "mAEm" and "mEAm" case create a rename tracking conflict on file 'f'. We
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   847
add more change on the respective branch and merge again. These second merge
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   848
does not involve the file 'f' and the arbitration done within "mAEm" and "mEA"
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   849
about that file should stay unchanged.
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   850
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   851
  $ case_desc="chained merges (conflict -> simple) - same content everywhere"
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   852
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   853
(extra unrelated changes)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   854
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   855
  $ hg up 'desc("a-2")'
46553
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   856
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   857
  $ echo j > unrelated-j
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   858
  $ hg add unrelated-j
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   859
  $ hg ci -m 'j-1: unrelated changes (based on the "a" series of changes)'
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   860
  created new head
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   861
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   862
  $ hg up 'desc("e-2")'
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   863
  2 files updated, 0 files merged, 2 files removed, 0 files unresolved (no-changeset !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   864
  1 files updated, 0 files merged, 2 files removed, 0 files unresolved (changeset !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   865
  $ echo k > unrelated-k
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   866
  $ hg add unrelated-k
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   867
  $ hg ci -m 'k-1: unrelated changes (based on "e" changes)'
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   868
  created new head
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   869
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   870
(merge variant 1)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   871
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   872
  $ hg up 'desc("mAEm")'
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   873
  1 files updated, 0 files merged, 2 files removed, 0 files unresolved (no-changeset !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   874
  0 files updated, 0 files merged, 2 files removed, 0 files unresolved (changeset !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   875
  $ hg merge 'desc("k-1")'
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   876
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   877
  (branch merge, don't forget to commit)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   878
  $ hg ci -m "mAE,Km: $case_desc"
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   879
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   880
(merge variant 2)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   881
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   882
  $ hg up 'desc("k-1")'
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   883
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved (no-changeset !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   884
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved (changeset !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   885
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   886
  $ hg merge 'desc("mAEm")'
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   887
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved (no-changeset !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   888
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved (changeset !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   889
  (branch merge, don't forget to commit)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   890
  $ hg ci -m "mK,AEm: $case_desc"
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   891
  created new head
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   892
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   893
(merge variant 3)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   894
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   895
  $ hg up 'desc("mEAm")'
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   896
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   897
  $ hg merge 'desc("j-1")'
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   898
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   899
  (branch merge, don't forget to commit)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   900
  $ hg ci -m "mEA,Jm: $case_desc"
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   901
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   902
(merge variant 4)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   903
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   904
  $ hg up 'desc("j-1")'
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   905
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved (no-changeset !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   906
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved (changeset !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   907
  $ hg merge 'desc("mEAm")'
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   908
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved (no-changeset !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   909
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved (changeset !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   910
  (branch merge, don't forget to commit)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   911
  $ hg ci -m "mJ,EAm: $case_desc"
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   912
  created new head
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   913
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   914
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   915
  $ hg log -G --rev '::(desc("mAE,Km") + desc("mK,AEm") + desc("mEA,Jm") + desc("mJ,EAm"))'
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   916
  @    mJ,EAm: chained merges (conflict -> simple) - same content everywhere
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   917
  |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   918
  +---o  mEA,Jm: chained merges (conflict -> simple) - same content everywhere
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   919
  | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   920
  | | o    mK,AEm: chained merges (conflict -> simple) - same content everywhere
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   921
  | | |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   922
  | | +---o  mAE,Km: chained merges (conflict -> simple) - same content everywhere
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   923
  | | | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   924
  | | | o  k-1: unrelated changes (based on "e" changes)
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   925
  | | | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   926
  | o | |  j-1: unrelated changes (based on the "a" series of changes)
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   927
  | | | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   928
  o-----+  mEAm-0 merge with copies info on both side - A side: rename d to f, E side: b to f, (same content for f) - the other way
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   929
  |/ / /
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   930
  | o /  mAEm-0 merge with copies info on both side - A side: rename d to f, E side: b to f, (same content for f) - one way
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   931
  |/|/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   932
  | o  e-2 g -move-> f
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   933
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   934
  | o  e-1 b -move-> g
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   935
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   936
  o |  a-2: e -move-> f
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   937
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   938
  o |  a-1: d -move-> e
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   939
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   940
  o  i-2: c -move-> d, s -move-> t
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   941
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   942
  o  i-1: a -move-> c, p -move-> s
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   943
  |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   944
  o  i-0 initial commit: a b h
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   945
  
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   946
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
   947
Subcase: chaining salvage information during a merge
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
   948
````````````````````````````````````````````````````
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
   949
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
   950
We add more change on the branch were the file was deleted. merging again
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
   951
should preserve the fact eh file was salvaged.
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
   952
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
   953
  $ case_desc="chained merges (salvaged -> simple) - same content (when the file exists)"
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
   954
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
   955
(creating the change)
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
   956
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
   957
  $ hg up 'desc("c-1")'
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
   958
  1 files updated, 0 files merged, 2 files removed, 0 files unresolved
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
   959
  $ echo l > unrelated-l
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
   960
  $ hg add unrelated-l
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
   961
  $ hg ci -m 'l-1: unrelated changes (based on "c" changes)'
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
   962
  created new head
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
   963
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
   964
(Merge variant 1)
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
   965
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
   966
  $ hg up 'desc("mBC-revert-m")'
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
   967
  2 files updated, 0 files merged, 1 files removed, 0 files unresolved
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
   968
  $ hg merge 'desc("l-1")'
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
   969
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
   970
  (branch merge, don't forget to commit)
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
   971
  $ hg ci -m "mBC+revert,Lm: $case_desc"
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
   972
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
   973
(Merge variant 2)
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
   974
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
   975
  $ hg up 'desc("mCB-revert-m")'
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
   976
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
   977
  $ hg merge 'desc("l-1")'
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
   978
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
   979
  (branch merge, don't forget to commit)
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
   980
  $ hg ci -m "mCB+revert,Lm: $case_desc"
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
   981
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
   982
(Merge variant 3)
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
   983
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
   984
  $ hg up 'desc("l-1")'
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
   985
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
   986
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
   987
  $ hg merge 'desc("mBC-revert-m")'
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
   988
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
   989
  (branch merge, don't forget to commit)
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
   990
  $ hg ci -m "mL,BC+revertm: $case_desc"
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
   991
  created new head
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
   992
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
   993
(Merge variant 4)
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
   994
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
   995
  $ hg up 'desc("l-1")'
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
   996
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
   997
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
   998
  $ hg merge 'desc("mCB-revert-m")'
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
   999
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1000
  (branch merge, don't forget to commit)
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1001
  $ hg ci -m "mL,CB+revertm: $case_desc"
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1002
  created new head
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1003
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1004
  $ hg log -G --rev '::(desc("mBC+revert,Lm") + desc("mCB+revert,Lm") + desc("mL,BC+revertm") + desc("mL,CB+revertm"))'
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1005
  @    mL,CB+revertm: chained merges (salvaged -> simple) - same content (when the file exists)
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1006
  |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1007
  | | o  mL,BC+revertm: chained merges (salvaged -> simple) - same content (when the file exists)
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1008
  | |/|
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1009
  +-+---o  mCB+revert,Lm: chained merges (salvaged -> simple) - same content (when the file exists)
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1010
  | | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1011
  | +---o  mBC+revert,Lm: chained merges (salvaged -> simple) - same content (when the file exists)
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1012
  | | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1013
  | o |  l-1: unrelated changes (based on "c" changes)
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1014
  | | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1015
  | | o  mBC-revert-m-0 merge explicitely revive deleted file - B side: unrelated change, C side: delete d (restored by merge) - the other way
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1016
  | |/|
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1017
  o---+  mCB-revert-m-0 merge explicitely revive deleted file - B side: unrelated change, C side: delete d (restored by merge) - one way
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1018
  |/ /
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1019
  o |  c-1 delete d
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1020
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1021
  | o  b-1: b update
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1022
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  1023
  o  i-2: c -move-> d, s -move-> t
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1024
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  1025
  o  i-1: a -move-> c, p -move-> s
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1026
  |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1027
  o  i-0 initial commit: a b h
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1028
  
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1029
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1030
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1031
Subcase: chaining "merged" information during a merge
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1032
``````````````````````````````````````````````````````
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1033
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1034
When a non-rename change are merged with a copy overwrite, the merge pick the copy source from (p1) as the reference. We should preserve this information in subsequent merges.
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1035
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1036
  $ case_desc="chained merges (copy-overwrite -> simple) - same content"
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1037
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1038
(extra unrelated changes)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1039
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1040
  $ hg up 'desc("f-2")'
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1041
  2 files updated, 0 files merged, 2 files removed, 0 files unresolved (no-changeset !)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1042
  1 files updated, 0 files merged, 2 files removed, 0 files unresolved (changeset !)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1043
  $ echo n > unrelated-n
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1044
  $ hg add unrelated-n
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1045
  $ hg ci -m 'n-1: unrelated changes (based on the "f" series of changes)'
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1046
  created new head
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1047
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1048
  $ hg up 'desc("g-1")'
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1049
  2 files updated, 0 files merged, 1 files removed, 0 files unresolved
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1050
  $ echo o > unrelated-o
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1051
  $ hg add unrelated-o
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1052
  $ hg ci -m 'o-1: unrelated changes (based on "g" changes)'
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1053
  created new head
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1054
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1055
(merge variant 1)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1056
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1057
  $ hg up 'desc("mFGm")'
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1058
  1 files updated, 0 files merged, 2 files removed, 0 files unresolved (no-changeset !)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1059
  0 files updated, 0 files merged, 2 files removed, 0 files unresolved (changeset !)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1060
  $ hg merge 'desc("o-1")'
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1061
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1062
  (branch merge, don't forget to commit)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1063
  $ hg ci -m "mFG,Om: $case_desc"
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1064
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1065
(merge variant 2)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1066
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1067
  $ hg up 'desc("o-1")'
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1068
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved (no-changeset !)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1069
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved (changeset !)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1070
  $ hg merge 'desc("FGm")'
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1071
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved (no-changeset !)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1072
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved (changeset !)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1073
  (branch merge, don't forget to commit)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1074
  $ hg ci -m "mO,FGm: $case_desc"
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1075
  created new head
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1076
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1077
(merge variant 3)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1078
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1079
  $ hg up 'desc("mGFm")'
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1080
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1081
  $ hg merge 'desc("n-1")'
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1082
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1083
  (branch merge, don't forget to commit)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1084
  $ hg ci -m "mGF,Nm: $case_desc"
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1085
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1086
(merge variant 4)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1087
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1088
  $ hg up 'desc("n-1")'
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1089
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1090
  $ hg merge 'desc("mGFm")'
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1091
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1092
  (branch merge, don't forget to commit)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1093
  $ hg ci -m "mN,GFm: $case_desc"
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1094
  created new head
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1095
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1096
  $ hg log -G --rev '::(desc("mFG,Om") + desc("mO,FGm") + desc("mGF,Nm") + desc("mN,GFm"))'
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1097
  @    mN,GFm: chained merges (copy-overwrite -> simple) - same content
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1098
  |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1099
  +---o  mGF,Nm: chained merges (copy-overwrite -> simple) - same content
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1100
  | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1101
  | | o    mO,FGm: chained merges (copy-overwrite -> simple) - same content
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1102
  | | |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1103
  | | +---o  mFG,Om: chained merges (copy-overwrite -> simple) - same content
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1104
  | | | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1105
  | | | o  o-1: unrelated changes (based on "g" changes)
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1106
  | | | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1107
  | o | |  n-1: unrelated changes (based on the "f" series of changes)
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1108
  | | | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1109
  o-----+  mGFm-0 merge - G side: content change, F side: copy overwrite, no content change - the other way
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1110
  |/ / /
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1111
  | o /  mFGm-0 merge - G side: content change, F side: copy overwrite, no content change - one way
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1112
  |/|/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1113
  | o  g-1: update d
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1114
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1115
  o |  f-2: rename i -> d
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1116
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1117
  o |  f-1: rename h -> i
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1118
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  1119
  o  i-2: c -move-> d, s -move-> t
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1120
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  1121
  o  i-1: a -move-> c, p -move-> s
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1122
  |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1123
  o  i-0 initial commit: a b h
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1124
  
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1125
46554
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1126
Subcase: chaining conflicting rename resolution, with extra change during the merge
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1127
```````````````````````````````````````````````````````````````````````````````````
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1128
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1129
The "mEA-change-m-0" and "mAE-change-m-0" case create a rename tracking conflict on file 'f'. We
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1130
add more change on the respective branch and merge again. These second merge
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1131
does not involve the file 'f' and the arbitration done within "mAEm" and "mEA"
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1132
about that file should stay unchanged.
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1133
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1134
  $ case_desc="chained merges (conflict+change -> simple) - same content on both branch in the initial merge"
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1135
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1136
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1137
(merge variant 1)
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1138
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1139
  $ hg up 'desc("mAE-change-m")'
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1140
  2 files updated, 0 files merged, 3 files removed, 0 files unresolved
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1141
  $ hg merge 'desc("k-1")'
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1142
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1143
  (branch merge, don't forget to commit)
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1144
  $ hg ci -m "mAE-change,Km: $case_desc"
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1145
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1146
(merge variant 2)
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1147
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1148
  $ hg up 'desc("k-1")'
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1149
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1150
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1151
  $ hg merge 'desc("mAE-change-m")'
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1152
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1153
  (branch merge, don't forget to commit)
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1154
  $ hg ci -m "mK,AE-change-m: $case_desc"
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1155
  created new head
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1156
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1157
(merge variant 3)
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1158
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1159
  $ hg up 'desc("mEA-change-m")'
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1160
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1161
  $ hg merge 'desc("j-1")'
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1162
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1163
  (branch merge, don't forget to commit)
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1164
  $ hg ci -m "mEA-change,Jm: $case_desc"
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1165
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1166
(merge variant 4)
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1167
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1168
  $ hg up 'desc("j-1")'
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1169
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1170
  $ hg merge 'desc("mEA-change-m")'
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1171
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1172
  (branch merge, don't forget to commit)
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1173
  $ hg ci -m "mJ,EA-change-m: $case_desc"
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1174
  created new head
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1175
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1176
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1177
  $ hg log -G --rev '::(desc("mAE-change,Km") + desc("mK,AE-change-m") + desc("mEA-change,Jm") + desc("mJ,EA-change-m"))'
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1178
  @    mJ,EA-change-m: chained merges (conflict+change -> simple) - same content on both branch in the initial merge
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1179
  |\
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1180
  +---o  mEA-change,Jm: chained merges (conflict+change -> simple) - same content on both branch in the initial merge
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1181
  | |/
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1182
  | | o    mK,AE-change-m: chained merges (conflict+change -> simple) - same content on both branch in the initial merge
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1183
  | | |\
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1184
  | | +---o  mAE-change,Km: chained merges (conflict+change -> simple) - same content on both branch in the initial merge
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1185
  | | | |/
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1186
  | | | o  k-1: unrelated changes (based on "e" changes)
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1187
  | | | |
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1188
  | o | |  j-1: unrelated changes (based on the "a" series of changes)
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1189
  | | | |
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1190
  o-----+  mEA-change-m-0 merge with file update and copies info on both side - A side: rename d to f, E side: b to f, (same content for f in parent) - the other way
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1191
  |/ / /
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1192
  | o /  mAE-change-m-0 merge with file update and copies info on both side - A side: rename d to f, E side: b to f, (same content for f in parent) - one way
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1193
  |/|/
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1194
  | o  e-2 g -move-> f
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1195
  | |
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1196
  | o  e-1 b -move-> g
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1197
  | |
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1198
  o |  a-2: e -move-> f
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1199
  | |
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1200
  o |  a-1: d -move-> e
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1201
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  1202
  o  i-2: c -move-> d, s -move-> t
46554
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1203
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  1204
  o  i-1: a -move-> c, p -move-> s
46554
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1205
  |
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1206
  o  i-0 initial commit: a b h
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1207
  
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1208
46185
5f00eb608957 copies-tests: add a summary of all cases created in test-copies-chain-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46160
diff changeset
  1209
Summary of all created cases
5f00eb608957 copies-tests: add a summary of all cases created in test-copies-chain-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46160
diff changeset
  1210
----------------------------
5f00eb608957 copies-tests: add a summary of all cases created in test-copies-chain-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46160
diff changeset
  1211
46186
5f27924a201d copies-tests: update to null in test-copies-chain-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46185
diff changeset
  1212
  $ hg up --quiet null
5f27924a201d copies-tests: update to null in test-copies-chain-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46185
diff changeset
  1213
46185
5f00eb608957 copies-tests: add a summary of all cases created in test-copies-chain-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46160
diff changeset
  1214
(This exists to help keeping a compact list of the various cases we have built)
5f00eb608957 copies-tests: add a summary of all cases created in test-copies-chain-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46160
diff changeset
  1215
5f00eb608957 copies-tests: add a summary of all cases created in test-copies-chain-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46160
diff changeset
  1216
  $ hg log -T '{desc|firstline}\n'| sort
5f00eb608957 copies-tests: add a summary of all cases created in test-copies-chain-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46160
diff changeset
  1217
  a-1: d -move-> e
5f00eb608957 copies-tests: add a summary of all cases created in test-copies-chain-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46160
diff changeset
  1218
  a-2: e -move-> f
5f00eb608957 copies-tests: add a summary of all cases created in test-copies-chain-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46160
diff changeset
  1219
  b-1: b update
5f00eb608957 copies-tests: add a summary of all cases created in test-copies-chain-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46160
diff changeset
  1220
  c-1 delete d
5f00eb608957 copies-tests: add a summary of all cases created in test-copies-chain-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46160
diff changeset
  1221
  d-1 delete d
5f00eb608957 copies-tests: add a summary of all cases created in test-copies-chain-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46160
diff changeset
  1222
  d-2 re-add d
5f00eb608957 copies-tests: add a summary of all cases created in test-copies-chain-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46160
diff changeset
  1223
  e-1 b -move-> g
5f00eb608957 copies-tests: add a summary of all cases created in test-copies-chain-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46160
diff changeset
  1224
  e-2 g -move-> f
5f00eb608957 copies-tests: add a summary of all cases created in test-copies-chain-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46160
diff changeset
  1225
  f-1: rename h -> i
5f00eb608957 copies-tests: add a summary of all cases created in test-copies-chain-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46160
diff changeset
  1226
  f-2: rename i -> d
5f00eb608957 copies-tests: add a summary of all cases created in test-copies-chain-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46160
diff changeset
  1227
  g-1: update d
5f00eb608957 copies-tests: add a summary of all cases created in test-copies-chain-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46160
diff changeset
  1228
  h-1: b -(move)-> d
5f00eb608957 copies-tests: add a summary of all cases created in test-copies-chain-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46160
diff changeset
  1229
  i-0 initial commit: a b h
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  1230
  i-1: a -move-> c, p -move-> s
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  1231
  i-2: c -move-> d, s -move-> t
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1232
  j-1: unrelated changes (based on the "a" series of changes)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1233
  k-1: unrelated changes (based on "e" changes)
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1234
  l-1: unrelated changes (based on "c" changes)
46533
e20977208924 test-copies: improve description of the A+B case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46532
diff changeset
  1235
  mABm-0 simple merge - A side: multiple renames, B side: unrelated update - the other way
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1236
  mAE,Km: chained merges (conflict -> simple) - same content everywhere
46554
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1237
  mAE-change,Km: chained merges (conflict+change -> simple) - same content on both branch in the initial merge
46553
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  1238
  mAE-change-m-0 merge with file update and copies info on both side - A side: rename d to f, E side: b to f, (same content for f in parent) - one way
46536
19f490690880 test-copies: improve description of the A+E case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46535
diff changeset
  1239
  mAEm-0 merge with copies info on both side - A side: rename d to f, E side: b to f, (same content for f) - one way
46533
e20977208924 test-copies: improve description of the A+B case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46532
diff changeset
  1240
  mBAm-0 simple merge - A side: multiple renames, B side: unrelated update - one way
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1241
  mBC+revert,Lm: chained merges (salvaged -> simple) - same content (when the file exists)
46540
311a18777f45 test-copies: improve description of the B+C "revert/restore" case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46539
diff changeset
  1242
  mBC-revert-m-0 merge explicitely revive deleted file - B side: unrelated change, C side: delete d (restored by merge) - the other way
46534
979838adc46b test-copies: improve description of the B+C case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46533
diff changeset
  1243
  mBCm-0 simple merge - C side: delete a file with copies history , B side: unrelated update - one way
46185
5f00eb608957 copies-tests: add a summary of all cases created in test-copies-chain-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46160
diff changeset
  1244
  mBCm-1 re-add d
46535
9a58f9eed303 test-copies: improve description of the B+D case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46534
diff changeset
  1245
  mBDm-0 simple merge - B side: unrelated update, D side: delete and recreate a file (with different content) - one way
46542
f8888f5c8c50 test-copies: improve description of the B+F case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46541
diff changeset
  1246
  mBFm-0 simple merge - B side: unrelated change, F side: overwrite d with a copy (from h->i->d) - one way
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1247
  mCB+revert,Lm: chained merges (salvaged -> simple) - same content (when the file exists)
46540
311a18777f45 test-copies: improve description of the B+C "revert/restore" case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46539
diff changeset
  1248
  mCB-revert-m-0 merge explicitely revive deleted file - B side: unrelated change, C side: delete d (restored by merge) - one way
46534
979838adc46b test-copies: improve description of the B+C case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46533
diff changeset
  1249
  mCBm-0 simple merge - C side: delete a file with copies history , B side: unrelated update - the other way
46185
5f00eb608957 copies-tests: add a summary of all cases created in test-copies-chain-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46160
diff changeset
  1250
  mCBm-1 re-add d
46539
a1a06dca6941 test-copies: improve description of the G+C case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46538
diff changeset
  1251
  mCGm-0 merge updated/deleted - revive the file (updated content) - one way
46541
60c52bdb1784 test-copies: improve description of the C+H case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46540
diff changeset
  1252
  mCH-delete-before-conflict-m-0 simple merge - C side: d is the results of renames then deleted, H side: d is result of another rename (same content as the other branch) - one way
46535
9a58f9eed303 test-copies: improve description of the B+D case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46534
diff changeset
  1253
  mDBm-0 simple merge - B side: unrelated update, D side: delete and recreate a file (with different content) - the other way
46537
1e96fdcc8bc1 test-copies: improve description of the D+G case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46536
diff changeset
  1254
  mDGm-0 actual content merge, copies on one side - D side: delete and re-add (different content), G side: update content - one way
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1255
  mEA,Jm: chained merges (conflict -> simple) - same content everywhere
46554
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1256
  mEA-change,Jm: chained merges (conflict+change -> simple) - same content on both branch in the initial merge
46553
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  1257
  mEA-change-m-0 merge with file update and copies info on both side - A side: rename d to f, E side: b to f, (same content for f in parent) - the other way
46536
19f490690880 test-copies: improve description of the A+E case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46535
diff changeset
  1258
  mEAm-0 merge with copies info on both side - A side: rename d to f, E side: b to f, (same content for f) - the other way
46542
f8888f5c8c50 test-copies: improve description of the B+F case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46541
diff changeset
  1259
  mFBm-0 simple merge - B side: unrelated change, F side: overwrite d with a copy (from h->i->d) - the other way
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1260
  mFG,Om: chained merges (copy-overwrite -> simple) - same content
46538
2f99dedf96b1 test-copies: improve description of the G+F case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46537
diff changeset
  1261
  mFGm-0 merge - G side: content change, F side: copy overwrite, no content change - one way
46539
a1a06dca6941 test-copies: improve description of the G+C case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46538
diff changeset
  1262
  mGCm-0 merge updated/deleted - revive the file (updated content) - the other way
46537
1e96fdcc8bc1 test-copies: improve description of the D+G case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46536
diff changeset
  1263
  mGDm-0 actual content merge, copies on one side - D side: delete and re-add (different content), G side: update content - the other way
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1264
  mGF,Nm: chained merges (copy-overwrite -> simple) - same content
46538
2f99dedf96b1 test-copies: improve description of the G+F case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46537
diff changeset
  1265
  mGFm-0 merge - G side: content change, F side: copy overwrite, no content change - the other way
46541
60c52bdb1784 test-copies: improve description of the C+H case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46540
diff changeset
  1266
  mHC-delete-before-conflict-m-0 simple merge - C side: d is the results of renames then deleted, H side: d is result of another rename (same content as the other branch) - the other way
46554
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1267
  mJ,EA-change-m: chained merges (conflict+change -> simple) - same content on both branch in the initial merge
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1268
  mJ,EAm: chained merges (conflict -> simple) - same content everywhere
46554
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1269
  mK,AE-change-m: chained merges (conflict+change -> simple) - same content on both branch in the initial merge
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1270
  mK,AEm: chained merges (conflict -> simple) - same content everywhere
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1271
  mL,BC+revertm: chained merges (salvaged -> simple) - same content (when the file exists)
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1272
  mL,CB+revertm: chained merges (salvaged -> simple) - same content (when the file exists)
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1273
  mN,GFm: chained merges (copy-overwrite -> simple) - same content
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1274
  mO,FGm: chained merges (copy-overwrite -> simple) - same content
46559
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  1275
  mPQm-0 merge with copies info on both side - P side: rename t to v, Q side: r to v, (different content) - one way
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  1276
  mQPm-0 merge with copies info on both side - P side: rename t to v, Q side: r to v, (different content) - the other way
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1277
  n-1: unrelated changes (based on the "f" series of changes)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1278
  o-1: unrelated changes (based on "g" changes)
46557
067307d6589d test-copies: add a `p` branch similar to the `a` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46556
diff changeset
  1279
  p-1: t -move-> u
067307d6589d test-copies: add a `p` branch similar to the `a` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46556
diff changeset
  1280
  p-2: u -move-> v
46558
eb60dadd1be1 test-copies: add a `q` branch similar to the `e` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46557
diff changeset
  1281
  q-1 r -move-> w
eb60dadd1be1 test-copies: add a `q` branch similar to the `e` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46557
diff changeset
  1282
  q-2 w -move-> v
46185
5f00eb608957 copies-tests: add a summary of all cases created in test-copies-chain-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46160
diff changeset
  1283
5f00eb608957 copies-tests: add a summary of all cases created in test-copies-chain-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46160
diff changeset
  1284
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1285
Test that sidedata computations during upgrades are correct
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1286
===========================================================
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1287
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1288
We upgrade a repository that is not using sidedata (the filelog case) and
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1289
 check that the same side data have been generated as if they were computed at
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1290
 commit time.
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1291
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1292
45735
edf4fa06df94 upgrade: allow sidedata upgrade to modify revision flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45733
diff changeset
  1293
#if upgraded
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1294
  $ cat >> $HGRCPATH << EOF
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1295
  > [format]
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1296
  > exp-use-side-data = yes
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1297
  > exp-use-copies-side-data-changeset = yes
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1298
  > EOF
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1299
  $ hg debugformat -v
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1300
  format-variant     repo config default
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1301
  fncache:            yes    yes     yes
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1302
  dotencode:          yes    yes     yes
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1303
  generaldelta:       yes    yes     yes
46334
4b0192f592cf share: move share safe functionality out of experimental
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46186
diff changeset
  1304
  share-safe:          no     no      no
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1305
  sparserevlog:       yes    yes     yes
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1306
  sidedata:            no    yes      no
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1307
  persistent-nodemap:  no     no      no
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1308
  copies-sdc:          no    yes      no
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1309
  plain-cl-delta:     yes    yes     yes
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1310
  compression:        * (glob)
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1311
  compression-level:  default default default
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1312
  $ hg debugupgraderepo --run --quiet
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1313
  upgrade will perform the following actions:
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1314
  
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1315
  requirements
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1316
     preserved: * (glob)
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1317
     added: exp-copies-sidedata-changeset, exp-sidedata-flag
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1318
  
46035
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
  1319
  processed revlogs:
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
  1320
    - all-filelogs
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
  1321
    - changelog
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
  1322
    - manifest
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
  1323
  
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1324
#endif
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1325
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1326
45735
edf4fa06df94 upgrade: allow sidedata upgrade to modify revision flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45733
diff changeset
  1327
#if no-compatibility no-filelog no-changeset
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1328
46479
c2435280ca63 copy-tracing: add a --compute flag to debugchangedfiles
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46334
diff changeset
  1329
  $ hg debugchangedfiles --compute 0
c2435280ca63 copy-tracing: add a --compute flag to debugchangedfiles
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46334
diff changeset
  1330
  added      : a, ;
c2435280ca63 copy-tracing: add a --compute flag to debugchangedfiles
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46334
diff changeset
  1331
  added      : b, ;
c2435280ca63 copy-tracing: add a --compute flag to debugchangedfiles
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46334
diff changeset
  1332
  added      : h, ;
46555
46205a478a08 test-copies: add 3 new files with their own content
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46554
diff changeset
  1333
  added      : p, ;
46205a478a08 test-copies: add 3 new files with their own content
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46554
diff changeset
  1334
  added      : q, ;
46205a478a08 test-copies: add 3 new files with their own content
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46554
diff changeset
  1335
  added      : r, ;
46479
c2435280ca63 copy-tracing: add a --compute flag to debugchangedfiles
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46334
diff changeset
  1336
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1337
  $ for rev in `hg log --rev 'all()' -T '{rev}\n'`; do
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1338
  >     case_id=`hg log -r $rev -T '{word(0, desc, ":")}\n'`
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1339
  >     echo "##### revision \"$case_id\" #####"
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1340
  >     hg debugsidedata -c -v -- $rev
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1341
  >     hg debugchangedfiles $rev
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1342
  > done
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1343
  ##### revision "i-0 initial commit" #####
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1344
  1 sidedata entries
46555
46205a478a08 test-copies: add 3 new files with their own content
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46554
diff changeset
  1345
   entry-0014 size 64
46205a478a08 test-copies: add 3 new files with their own content
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46554
diff changeset
  1346
    '\x00\x00\x00\x06\x04\x00\x00\x00\x01\x00\x00\x00\x00\x04\x00\x00\x00\x02\x00\x00\x00\x00\x04\x00\x00\x00\x03\x00\x00\x00\x00\x04\x00\x00\x00\x04\x00\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x00\x04\x00\x00\x00\x06\x00\x00\x00\x00abhpqr'
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1347
  added      : a, ;
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1348
  added      : b, ;
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1349
  added      : h, ;
46555
46205a478a08 test-copies: add 3 new files with their own content
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46554
diff changeset
  1350
  added      : p, ;
46205a478a08 test-copies: add 3 new files with their own content
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46554
diff changeset
  1351
  added      : q, ;
46205a478a08 test-copies: add 3 new files with their own content
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46554
diff changeset
  1352
  added      : r, ;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1353
  ##### revision "i-1" #####
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1354
  1 sidedata entries
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  1355
   entry-0014 size 44
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  1356
    '\x00\x00\x00\x04\x0c\x00\x00\x00\x01\x00\x00\x00\x00\x06\x00\x00\x00\x02\x00\x00\x00\x00\x0c\x00\x00\x00\x03\x00\x00\x00\x00\x06\x00\x00\x00\x04\x00\x00\x00\x02acps'
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1357
  removed    : a, ;
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1358
  added    p1: c, a;
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  1359
  removed    : p, ;
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  1360
  added    p1: s, p;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1361
  ##### revision "i-2" #####
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1362
  1 sidedata entries
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  1363
   entry-0014 size 44
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  1364
    '\x00\x00\x00\x04\x0c\x00\x00\x00\x01\x00\x00\x00\x00\x06\x00\x00\x00\x02\x00\x00\x00\x00\x0c\x00\x00\x00\x03\x00\x00\x00\x00\x06\x00\x00\x00\x04\x00\x00\x00\x02cdst'
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1365
  removed    : c, ;
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1366
  added    p1: d, c;
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  1367
  removed    : s, ;
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  1368
  added    p1: t, s;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1369
  ##### revision "a-1" #####
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1370
  1 sidedata entries
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1371
   entry-0014 size 24
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1372
    '\x00\x00\x00\x02\x0c\x00\x00\x00\x01\x00\x00\x00\x00\x06\x00\x00\x00\x02\x00\x00\x00\x00de'
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1373
  removed    : d, ;
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1374
  added    p1: e, d;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1375
  ##### revision "a-2" #####
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1376
  1 sidedata entries
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1377
   entry-0014 size 24
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1378
    '\x00\x00\x00\x02\x0c\x00\x00\x00\x01\x00\x00\x00\x00\x06\x00\x00\x00\x02\x00\x00\x00\x00ef'
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1379
  removed    : e, ;
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1380
  added    p1: f, e;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1381
  ##### revision "b-1" #####
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1382
  1 sidedata entries
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1383
   entry-0014 size 14
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1384
    '\x00\x00\x00\x01\x14\x00\x00\x00\x01\x00\x00\x00\x00b'
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1385
  touched    : b, ;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1386
  ##### revision "c-1 delete d" #####
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1387
  1 sidedata entries
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1388
   entry-0014 size 14
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1389
    '\x00\x00\x00\x01\x0c\x00\x00\x00\x01\x00\x00\x00\x00d'
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1390
  removed    : d, ;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1391
  ##### revision "d-1 delete d" #####
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1392
  1 sidedata entries
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1393
   entry-0014 size 14
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1394
    '\x00\x00\x00\x01\x0c\x00\x00\x00\x01\x00\x00\x00\x00d'
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1395
  removed    : d, ;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1396
  ##### revision "d-2 re-add d" #####
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1397
  1 sidedata entries
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1398
   entry-0014 size 14
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1399
    '\x00\x00\x00\x01\x04\x00\x00\x00\x01\x00\x00\x00\x00d'
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1400
  added      : d, ;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1401
  ##### revision "e-1 b -move-> g" #####
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1402
  1 sidedata entries
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1403
   entry-0014 size 24
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1404
    '\x00\x00\x00\x02\x0c\x00\x00\x00\x01\x00\x00\x00\x00\x06\x00\x00\x00\x02\x00\x00\x00\x00bg'
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1405
  removed    : b, ;
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1406
  added    p1: g, b;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1407
  ##### revision "e-2 g -move-> f" #####
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1408
  1 sidedata entries
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1409
   entry-0014 size 24
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1410
    '\x00\x00\x00\x02\x06\x00\x00\x00\x01\x00\x00\x00\x01\x0c\x00\x00\x00\x02\x00\x00\x00\x00fg'
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1411
  added    p1: f, g;
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1412
  removed    : g, ;
46557
067307d6589d test-copies: add a `p` branch similar to the `a` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46556
diff changeset
  1413
  ##### revision "p-1" #####
067307d6589d test-copies: add a `p` branch similar to the `a` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46556
diff changeset
  1414
  1 sidedata entries
067307d6589d test-copies: add a `p` branch similar to the `a` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46556
diff changeset
  1415
   entry-0014 size 24
067307d6589d test-copies: add a `p` branch similar to the `a` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46556
diff changeset
  1416
    '\x00\x00\x00\x02\x0c\x00\x00\x00\x01\x00\x00\x00\x00\x06\x00\x00\x00\x02\x00\x00\x00\x00tu'
067307d6589d test-copies: add a `p` branch similar to the `a` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46556
diff changeset
  1417
  removed    : t, ;
067307d6589d test-copies: add a `p` branch similar to the `a` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46556
diff changeset
  1418
  added    p1: u, t;
067307d6589d test-copies: add a `p` branch similar to the `a` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46556
diff changeset
  1419
  ##### revision "p-2" #####
067307d6589d test-copies: add a `p` branch similar to the `a` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46556
diff changeset
  1420
  1 sidedata entries
067307d6589d test-copies: add a `p` branch similar to the `a` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46556
diff changeset
  1421
   entry-0014 size 24
067307d6589d test-copies: add a `p` branch similar to the `a` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46556
diff changeset
  1422
    '\x00\x00\x00\x02\x0c\x00\x00\x00\x01\x00\x00\x00\x00\x06\x00\x00\x00\x02\x00\x00\x00\x00uv'
067307d6589d test-copies: add a `p` branch similar to the `a` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46556
diff changeset
  1423
  removed    : u, ;
067307d6589d test-copies: add a `p` branch similar to the `a` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46556
diff changeset
  1424
  added    p1: v, u;
46558
eb60dadd1be1 test-copies: add a `q` branch similar to the `e` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46557
diff changeset
  1425
  ##### revision "q-1 r -move-> w" #####
eb60dadd1be1 test-copies: add a `q` branch similar to the `e` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46557
diff changeset
  1426
  1 sidedata entries
eb60dadd1be1 test-copies: add a `q` branch similar to the `e` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46557
diff changeset
  1427
   entry-0014 size 24
eb60dadd1be1 test-copies: add a `q` branch similar to the `e` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46557
diff changeset
  1428
    '\x00\x00\x00\x02\x0c\x00\x00\x00\x01\x00\x00\x00\x00\x06\x00\x00\x00\x02\x00\x00\x00\x00rw'
eb60dadd1be1 test-copies: add a `q` branch similar to the `e` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46557
diff changeset
  1429
  removed    : r, ;
eb60dadd1be1 test-copies: add a `q` branch similar to the `e` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46557
diff changeset
  1430
  added    p1: w, r;
eb60dadd1be1 test-copies: add a `q` branch similar to the `e` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46557
diff changeset
  1431
  ##### revision "q-2 w -move-> v" #####
eb60dadd1be1 test-copies: add a `q` branch similar to the `e` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46557
diff changeset
  1432
  1 sidedata entries
eb60dadd1be1 test-copies: add a `q` branch similar to the `e` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46557
diff changeset
  1433
   entry-0014 size 24
eb60dadd1be1 test-copies: add a `q` branch similar to the `e` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46557
diff changeset
  1434
    '\x00\x00\x00\x02\x06\x00\x00\x00\x01\x00\x00\x00\x01\x0c\x00\x00\x00\x02\x00\x00\x00\x00vw'
eb60dadd1be1 test-copies: add a `q` branch similar to the `e` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46557
diff changeset
  1435
  added    p1: v, w;
eb60dadd1be1 test-copies: add a `q` branch similar to the `e` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46557
diff changeset
  1436
  removed    : w, ;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1437
  ##### revision "mBAm-0 simple merge - A side" #####
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1438
  1 sidedata entries
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1439
   entry-0014 size 4
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1440
    '\x00\x00\x00\x00'
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1441
  ##### revision "mABm-0 simple merge - A side" #####
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1442
  1 sidedata entries
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1443
   entry-0014 size 4
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1444
    '\x00\x00\x00\x00'
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1445
  ##### revision "mBCm-0 simple merge - C side" #####
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1446
  1 sidedata entries
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1447
   entry-0014 size 4
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1448
    '\x00\x00\x00\x00'
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1449
  ##### revision "mBCm-1 re-add d" #####
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1450
  1 sidedata entries
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1451
   entry-0014 size 14
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1452
    '\x00\x00\x00\x01\x04\x00\x00\x00\x01\x00\x00\x00\x00d'
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1453
  added      : d, ;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1454
  ##### revision "mCBm-0 simple merge - C side" #####
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1455
  1 sidedata entries
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1456
   entry-0014 size 4
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1457
    '\x00\x00\x00\x00'
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1458
  ##### revision "mCBm-1 re-add d" #####
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1459
  1 sidedata entries
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1460
   entry-0014 size 14
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1461
    '\x00\x00\x00\x01\x04\x00\x00\x00\x01\x00\x00\x00\x00d'
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1462
  added      : d, ;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1463
  ##### revision "mBDm-0 simple merge - B side" #####
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1464
  1 sidedata entries
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1465
   entry-0014 size 4
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1466
    '\x00\x00\x00\x00'
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1467
  ##### revision "mDBm-0 simple merge - B side" #####
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1468
  1 sidedata entries
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1469
   entry-0014 size 4
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1470
    '\x00\x00\x00\x00'
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1471
  ##### revision "mAEm-0 merge with copies info on both side - A side" #####
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1472
  1 sidedata entries
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1473
   entry-0014 size 14
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1474
    '\x00\x00\x00\x01\x08\x00\x00\x00\x01\x00\x00\x00\x00f'
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1475
  merged     : f, ;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1476
  ##### revision "mEAm-0 merge with copies info on both side - A side" #####
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1477
  1 sidedata entries
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1478
   entry-0014 size 14
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1479
    '\x00\x00\x00\x01\x08\x00\x00\x00\x01\x00\x00\x00\x00f'
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1480
  merged     : f, ;
46559
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  1481
  ##### revision "mPQm-0 merge with copies info on both side - P side" #####
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  1482
  1 sidedata entries
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  1483
   entry-0014 size 14
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  1484
    '\x00\x00\x00\x01\x08\x00\x00\x00\x01\x00\x00\x00\x00v'
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  1485
  merged     : v, ;
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  1486
  ##### revision "mQPm-0 merge with copies info on both side - P side" #####
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  1487
  1 sidedata entries
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  1488
   entry-0014 size 14
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  1489
    '\x00\x00\x00\x01\x08\x00\x00\x00\x01\x00\x00\x00\x00v'
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  1490
  merged     : v, ;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1491
  ##### revision "f-1" #####
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1492
  1 sidedata entries
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1493
   entry-0014 size 24
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1494
    '\x00\x00\x00\x02\x0c\x00\x00\x00\x01\x00\x00\x00\x00\x06\x00\x00\x00\x02\x00\x00\x00\x00hi'
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1495
  removed    : h, ;
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1496
  added    p1: i, h;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1497
  ##### revision "f-2" #####
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1498
  1 sidedata entries
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1499
   entry-0014 size 24
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1500
    '\x00\x00\x00\x02\x16\x00\x00\x00\x01\x00\x00\x00\x01\x0c\x00\x00\x00\x02\x00\x00\x00\x00di'
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1501
  touched  p1: d, i;
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1502
  removed    : i, ;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1503
  ##### revision "mBFm-0 simple merge - B side" #####
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1504
  1 sidedata entries
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1505
   entry-0014 size 4
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1506
    '\x00\x00\x00\x00'
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1507
  ##### revision "mFBm-0 simple merge - B side" #####
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1508
  1 sidedata entries
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1509
   entry-0014 size 4
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1510
    '\x00\x00\x00\x00'
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1511
  ##### revision "g-1" #####
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1512
  1 sidedata entries
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1513
   entry-0014 size 14
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1514
    '\x00\x00\x00\x01\x14\x00\x00\x00\x01\x00\x00\x00\x00d'
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1515
  touched    : d, ;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1516
  ##### revision "mDGm-0 actual content merge, copies on one side - D side" #####
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1517
  1 sidedata entries
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1518
   entry-0014 size 14
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1519
    '\x00\x00\x00\x01\x08\x00\x00\x00\x01\x00\x00\x00\x00d'
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1520
  merged     : d, ;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1521
  ##### revision "mGDm-0 actual content merge, copies on one side - D side" #####
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1522
  1 sidedata entries
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1523
   entry-0014 size 14
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1524
    '\x00\x00\x00\x01\x08\x00\x00\x00\x01\x00\x00\x00\x00d'
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1525
  merged     : d, ;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1526
  ##### revision "mFGm-0 merge - G side" #####
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1527
  1 sidedata entries
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1528
   entry-0014 size 14
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1529
    '\x00\x00\x00\x01\x08\x00\x00\x00\x01\x00\x00\x00\x00d'
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1530
  merged     : d, ;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1531
  ##### revision "mGFm-0 merge - G side" #####
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1532
  1 sidedata entries
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1533
   entry-0014 size 14
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1534
    '\x00\x00\x00\x01\x08\x00\x00\x00\x01\x00\x00\x00\x00d'
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1535
  merged     : d, ;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1536
  ##### revision "mCGm-0 merge updated/deleted - revive the file (updated content) - one way" #####
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1537
  1 sidedata entries
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1538
   entry-0014 size 14
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1539
    '\x00\x00\x00\x01\x10\x00\x00\x00\x01\x00\x00\x00\x00d'
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1540
  salvaged   : d, ;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1541
  ##### revision "mGCm-0 merge updated/deleted - revive the file (updated content) - the other way" #####
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1542
  1 sidedata entries
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1543
   entry-0014 size 14
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1544
    '\x00\x00\x00\x01\x10\x00\x00\x00\x01\x00\x00\x00\x00d'
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1545
  salvaged   : d, ;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1546
  ##### revision "mCB-revert-m-0 merge explicitely revive deleted file - B side" #####
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1547
  1 sidedata entries
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1548
   entry-0014 size 14
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1549
    '\x00\x00\x00\x01\x10\x00\x00\x00\x01\x00\x00\x00\x00d'
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1550
  salvaged   : d, ;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1551
  ##### revision "mBC-revert-m-0 merge explicitely revive deleted file - B side" #####
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1552
  1 sidedata entries
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1553
   entry-0014 size 14
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1554
    '\x00\x00\x00\x01\x10\x00\x00\x00\x01\x00\x00\x00\x00d'
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1555
  salvaged   : d, ;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1556
  ##### revision "h-1" #####
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  1557
  1 sidedata entries
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  1558
   entry-0014 size 24
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  1559
    '\x00\x00\x00\x02\x0c\x00\x00\x00\x01\x00\x00\x00\x00\x06\x00\x00\x00\x02\x00\x00\x00\x00bd'
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  1560
  removed    : b, ;
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  1561
  added    p1: d, b;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1562
  ##### revision "mCH-delete-before-conflict-m-0 simple merge - C side" #####
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  1563
  1 sidedata entries
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  1564
   entry-0014 size 4
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  1565
    '\x00\x00\x00\x00'
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1566
  ##### revision "mHC-delete-before-conflict-m-0 simple merge - C side" #####
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  1567
  1 sidedata entries
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  1568
   entry-0014 size 4
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  1569
    '\x00\x00\x00\x00'
46553
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  1570
  ##### revision "mAE-change-m-0 merge with file update and copies info on both side - A side" #####
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  1571
  1 sidedata entries
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  1572
   entry-0014 size 14
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  1573
    '\x00\x00\x00\x01\x08\x00\x00\x00\x01\x00\x00\x00\x00f'
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  1574
  merged     : f, ;
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  1575
  ##### revision "mEA-change-m-0 merge with file update and copies info on both side - A side" #####
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  1576
  1 sidedata entries
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  1577
   entry-0014 size 14
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  1578
    '\x00\x00\x00\x01\x08\x00\x00\x00\x01\x00\x00\x00\x00f'
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  1579
  merged     : f, ;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1580
  ##### revision "j-1" #####
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1581
  1 sidedata entries
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1582
   entry-0014 size 24
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1583
    '\x00\x00\x00\x01\x04\x00\x00\x00\x0b\x00\x00\x00\x00unrelated-j'
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1584
  added      : unrelated-j, ;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1585
  ##### revision "k-1" #####
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1586
  1 sidedata entries
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1587
   entry-0014 size 24
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1588
    '\x00\x00\x00\x01\x04\x00\x00\x00\x0b\x00\x00\x00\x00unrelated-k'
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1589
  added      : unrelated-k, ;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1590
  ##### revision "mAE,Km" #####
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1591
  1 sidedata entries
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1592
   entry-0014 size 4
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1593
    '\x00\x00\x00\x00'
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1594
  ##### revision "mK,AEm" #####
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1595
  1 sidedata entries
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1596
   entry-0014 size 4
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1597
    '\x00\x00\x00\x00'
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1598
  ##### revision "mEA,Jm" #####
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1599
  1 sidedata entries
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1600
   entry-0014 size 4
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1601
    '\x00\x00\x00\x00'
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1602
  ##### revision "mJ,EAm" #####
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1603
  1 sidedata entries
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1604
   entry-0014 size 4
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1605
    '\x00\x00\x00\x00'
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1606
  ##### revision "l-1" #####
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1607
  1 sidedata entries
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1608
   entry-0014 size 24
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1609
    '\x00\x00\x00\x01\x04\x00\x00\x00\x0b\x00\x00\x00\x00unrelated-l'
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1610
  added      : unrelated-l, ;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1611
  ##### revision "mBC+revert,Lm" #####
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1612
  1 sidedata entries
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1613
   entry-0014 size 4
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1614
    '\x00\x00\x00\x00'
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1615
  ##### revision "mCB+revert,Lm" #####
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1616
  1 sidedata entries
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1617
   entry-0014 size 4
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1618
    '\x00\x00\x00\x00'
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1619
  ##### revision "mL,BC+revertm" #####
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1620
  1 sidedata entries
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1621
   entry-0014 size 4
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1622
    '\x00\x00\x00\x00'
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1623
  ##### revision "mL,CB+revertm" #####
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1624
  1 sidedata entries
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1625
   entry-0014 size 4
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1626
    '\x00\x00\x00\x00'
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1627
  ##### revision "n-1" #####
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1628
  1 sidedata entries
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1629
   entry-0014 size 24
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1630
    '\x00\x00\x00\x01\x04\x00\x00\x00\x0b\x00\x00\x00\x00unrelated-n'
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1631
  added      : unrelated-n, ;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1632
  ##### revision "o-1" #####
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1633
  1 sidedata entries
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1634
   entry-0014 size 24
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1635
    '\x00\x00\x00\x01\x04\x00\x00\x00\x0b\x00\x00\x00\x00unrelated-o'
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1636
  added      : unrelated-o, ;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1637
  ##### revision "mFG,Om" #####
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1638
  1 sidedata entries
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1639
   entry-0014 size 4
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1640
    '\x00\x00\x00\x00'
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1641
  ##### revision "mO,FGm" #####
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1642
  1 sidedata entries
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1643
   entry-0014 size 4
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1644
    '\x00\x00\x00\x00'
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1645
  ##### revision "mGF,Nm" #####
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1646
  1 sidedata entries
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1647
   entry-0014 size 4
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1648
    '\x00\x00\x00\x00'
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1649
  ##### revision "mN,GFm" #####
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1650
  1 sidedata entries
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1651
   entry-0014 size 4
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1652
    '\x00\x00\x00\x00'
46554
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1653
  ##### revision "mAE-change,Km" #####
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1654
  1 sidedata entries
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1655
   entry-0014 size 4
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1656
    '\x00\x00\x00\x00'
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1657
  ##### revision "mK,AE-change-m" #####
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1658
  1 sidedata entries
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1659
   entry-0014 size 4
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1660
    '\x00\x00\x00\x00'
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1661
  ##### revision "mEA-change,Jm" #####
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1662
  1 sidedata entries
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1663
   entry-0014 size 4
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1664
    '\x00\x00\x00\x00'
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1665
  ##### revision "mJ,EA-change-m" #####
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1666
  1 sidedata entries
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1667
   entry-0014 size 4
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1668
    '\x00\x00\x00\x00'
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1669
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1670
#endif
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1671
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1672
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
  1673
Test copy information chaining
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
  1674
==============================
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
  1675
46159
929054848d6c copies: properly match result during changeset centric copy tracing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46035
diff changeset
  1676
Check that matching only affect the destination and not intermediate path
929054848d6c copies: properly match result during changeset centric copy tracing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46035
diff changeset
  1677
-------------------------------------------------------------------------
929054848d6c copies: properly match result during changeset centric copy tracing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46035
diff changeset
  1678
929054848d6c copies: properly match result during changeset centric copy tracing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46035
diff changeset
  1679
The two status call should give the same value for f
929054848d6c copies: properly match result during changeset centric copy tracing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46035
diff changeset
  1680
929054848d6c copies: properly match result during changeset centric copy tracing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46035
diff changeset
  1681
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("a-2")'
929054848d6c copies: properly match result during changeset centric copy tracing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46035
diff changeset
  1682
  A f
929054848d6c copies: properly match result during changeset centric copy tracing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46035
diff changeset
  1683
    a
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  1684
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  1685
    p
46159
929054848d6c copies: properly match result during changeset centric copy tracing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46035
diff changeset
  1686
  R a
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  1687
  R p
46159
929054848d6c copies: properly match result during changeset centric copy tracing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46035
diff changeset
  1688
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("a-2")' f
929054848d6c copies: properly match result during changeset centric copy tracing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46035
diff changeset
  1689
  A f
929054848d6c copies: properly match result during changeset centric copy tracing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46035
diff changeset
  1690
    a (no-changeset no-compatibility !)
929054848d6c copies: properly match result during changeset centric copy tracing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46035
diff changeset
  1691
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
  1692
merging with unrelated change does not interfere with the renames
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
  1693
---------------------------------------------------------------
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
  1694
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
  1695
- rename on one side
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
  1696
- unrelated change on the other side
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
  1697
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
  1698
  $ hg log -G --rev '::(desc("mABm")+desc("mBAm"))'
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1699
  o    mABm-0 simple merge - A side: multiple renames, B side: unrelated update - the other way
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
  1700
  |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1701
  +---o  mBAm-0 simple merge - A side: multiple renames, B side: unrelated update - one way
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
  1702
  | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1703
  | o  b-1: b update
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
  1704
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1705
  o |  a-2: e -move-> f
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
  1706
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1707
  o |  a-1: d -move-> e
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
  1708
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  1709
  o  i-2: c -move-> d, s -move-> t
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
  1710
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  1711
  o  i-1: a -move-> c, p -move-> s
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
  1712
  |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1713
  o  i-0 initial commit: a b h
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
  1714
  
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
  1715
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1716
  $ hg status --copies --rev 'desc("b-1")' --rev 'desc("mABm")'
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1717
  A f
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1718
    d
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1719
  R d
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1720
  $ hg status --copies --rev 'desc("b-1")' --rev 'desc("mBAm")'
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1721
  A f
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1722
    d
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1723
  R d
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1724
  $ hg status --copies --rev 'desc("a-2")' --rev 'desc("mABm")'
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1725
  M b
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1726
  $ hg status --copies --rev 'desc("a-2")' --rev 'desc("mBAm")'
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1727
  M b
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1728
  $ hg status --copies --rev 'desc("i-2")' --rev 'desc("mABm")'
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1729
  M b
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1730
  A f
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1731
    d
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1732
  R d
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1733
  $ hg status --copies --rev 'desc("i-2")' --rev 'desc("mBAm")'
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1734
  M b
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1735
  A f
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1736
    d
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1737
  R d
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1738
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mABm")'
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1739
  M b
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1740
  A f
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1741
    a
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  1742
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  1743
    p
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1744
  R a
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  1745
  R p
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1746
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mBAm")'
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1747
  M b
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1748
  A f
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1749
    a
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  1750
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  1751
    p
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1752
  R a
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  1753
  R p
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1754
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1755
merging with the side having a delete
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1756
-------------------------------------
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1757
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1758
case summary:
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1759
- one with change to an unrelated file
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1760
- one deleting the change
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1761
and recreate an unrelated file after the merge
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1762
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1763
  $ hg log -G --rev '::(desc("mCBm")+desc("mBCm"))'
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1764
  o  mCBm-1 re-add d
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1765
  |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1766
  o    mCBm-0 simple merge - C side: delete a file with copies history , B side: unrelated update - the other way
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1767
  |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1768
  | | o  mBCm-1 re-add d
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1769
  | | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1770
  +---o  mBCm-0 simple merge - C side: delete a file with copies history , B side: unrelated update - one way
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1771
  | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1772
  | o  c-1 delete d
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1773
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1774
  o |  b-1: b update
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1775
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  1776
  o  i-2: c -move-> d, s -move-> t
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1777
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  1778
  o  i-1: a -move-> c, p -move-> s
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1779
  |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1780
  o  i-0 initial commit: a b h
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1781
  
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1782
- comparing from the merge
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1783
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1784
  $ hg status --copies --rev 'desc("b-1")' --rev 'desc("mBCm-0")'
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1785
  R d
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1786
  $ hg status --copies --rev 'desc("b-1")' --rev 'desc("mCBm-0")'
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1787
  R d
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1788
  $ hg status --copies --rev 'desc("c-1")' --rev 'desc("mBCm-0")'
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1789
  M b
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1790
  $ hg status --copies --rev 'desc("c-1")' --rev 'desc("mCBm-0")'
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1791
  M b
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1792
  $ hg status --copies --rev 'desc("i-2")' --rev 'desc("mBCm-0")'
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1793
  M b
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1794
  R d
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1795
  $ hg status --copies --rev 'desc("i-2")' --rev 'desc("mCBm-0")'
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1796
  M b
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1797
  R d
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1798
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mBCm-0")'
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1799
  M b
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  1800
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  1801
    p
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1802
  R a
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  1803
  R p
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1804
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mCBm-0")'
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1805
  M b
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  1806
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  1807
    p
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1808
  R a
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  1809
  R p
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1810
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1811
- comparing with the merge children re-adding the file
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1812
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1813
  $ hg status --copies --rev 'desc("b-1")' --rev 'desc("mBCm-1")'
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1814
  M d
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1815
  $ hg status --copies --rev 'desc("b-1")' --rev 'desc("mCBm-1")'
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1816
  M d
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1817
  $ hg status --copies --rev 'desc("c-1")' --rev 'desc("mBCm-1")'
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1818
  M b
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1819
  A d
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1820
  $ hg status --copies --rev 'desc("c-1")' --rev 'desc("mCBm-1")'
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1821
  M b
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1822
  A d
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1823
  $ hg status --copies --rev 'desc("i-2")' --rev 'desc("mBCm-1")'
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1824
  M b
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1825
  M d
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1826
  $ hg status --copies --rev 'desc("i-2")' --rev 'desc("mCBm-1")'
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1827
  M b
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1828
  M d
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1829
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mBCm-1")'
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1830
  M b
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1831
  A d
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  1832
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  1833
    p
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1834
  R a
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  1835
  R p
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1836
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mCBm-1")'
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1837
  M b
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1838
  A d
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  1839
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  1840
    p
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1841
  R a
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  1842
  R p
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1843
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1844
Comparing with a merge re-adding the file afterward
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1845
---------------------------------------------------
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1846
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1847
Merge:
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1848
- one with change to an unrelated file
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1849
- one deleting and recreating the change
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1850
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1851
  $ hg log -G --rev '::(desc("mDBm")+desc("mBDm"))'
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1852
  o    mDBm-0 simple merge - B side: unrelated update, D side: delete and recreate a file (with different content) - the other way
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1853
  |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1854
  +---o  mBDm-0 simple merge - B side: unrelated update, D side: delete and recreate a file (with different content) - one way
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1855
  | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1856
  | o  d-2 re-add d
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1857
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1858
  | o  d-1 delete d
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1859
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1860
  o |  b-1: b update
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1861
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  1862
  o  i-2: c -move-> d, s -move-> t
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1863
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  1864
  o  i-1: a -move-> c, p -move-> s
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1865
  |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1866
  o  i-0 initial commit: a b h
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1867
  
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1868
  $ hg status --copies --rev 'desc("b-1")' --rev 'desc("mBDm-0")'
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1869
  M d
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1870
  $ hg status --copies --rev 'desc("b-1")' --rev 'desc("mDBm-0")'
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1871
  M d
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1872
  $ hg status --copies --rev 'desc("d-2")' --rev 'desc("mBDm-0")'
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1873
  M b
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1874
  $ hg status --copies --rev 'desc("d-2")' --rev 'desc("mDBm-0")'
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1875
  M b
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1876
  $ hg status --copies --rev 'desc("i-2")' --rev 'desc("mBDm-0")'
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1877
  M b
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1878
  M d
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1879
  $ hg status --copies --rev 'desc("i-2")' --rev 'desc("mDBm-0")'
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1880
  M b
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1881
  M d
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1882
44454
b8882f5d7cb4 copies-tests: update the analysis of the BD/DB cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44453
diff changeset
  1883
The bugs makes recorded copy is different depending of where we started the merge from since
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1884
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1885
  $ hg manifest --debug --rev 'desc("mBDm-0")' | grep '644   d'
44687
1b8fd4af3318 mergestate: store about files resolved in favour of other
Pulkit Goyal <7895pulkit@gmail.com>
parents: 44678
diff changeset
  1886
  b004912a8510032a0350a74daa2803dadfb00e12 644   d
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1887
  $ hg manifest --debug --rev 'desc("mDBm-0")' | grep '644   d'
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1888
  b004912a8510032a0350a74daa2803dadfb00e12 644   d
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1889
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1890
  $ hg manifest --debug --rev 'desc("d-2")' | grep '644   d'
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1891
  b004912a8510032a0350a74daa2803dadfb00e12 644   d
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1892
  $ hg manifest --debug --rev 'desc("b-1")' | grep '644   d'
46531
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46527
diff changeset
  1893
  d8252ab2e760b0d4e5288fd44cbd15a0fa567e16 644   d (no-changeset !)
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46527
diff changeset
  1894
  ae258f702dfeca05bf9b6a22a97a4b5645570f11 644   d (changeset !)
46552
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
  1895
  $ hg debugindex d | head -n 4 | ../no-linkrev
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1896
     rev linkrev nodeid       p1           p2
46552
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
  1897
       0       * d8252ab2e760 000000000000 000000000000 (no-changeset !)
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
  1898
       0       * ae258f702dfe 000000000000 000000000000 (changeset !)
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
  1899
       1       * b004912a8510 000000000000 000000000000
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
  1900
       2       * 7b79e2fe0c89 000000000000 000000000000 (no-changeset !)
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
  1901
       2       * 5cce88bf349f ae258f702dfe 000000000000 (changeset !)
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1902
45653
a357688e3c9c tests: update/remove outdated comments in test-copies-chain-merge.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45461
diff changeset
  1903
Log output should not include a merge commit as it did not happen
44454
b8882f5d7cb4 copies-tests: update the analysis of the BD/DB cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44453
diff changeset
  1904
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1905
  $ hg log -Gfr 'desc("mBDm-0")' d
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1906
  o  d-2 re-add d
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1907
  |
44687
1b8fd4af3318 mergestate: store about files resolved in favour of other
Pulkit Goyal <7895pulkit@gmail.com>
parents: 44678
diff changeset
  1908
  ~
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1909
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1910
  $ hg log -Gfr 'desc("mDBm-0")' d
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1911
  o  d-2 re-add d
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1912
  |
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1913
  ~
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1914
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1915
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mBDm-0")'
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1916
  M b
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1917
  A d
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  1918
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  1919
    p
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1920
  R a
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  1921
  R p
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1922
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mDBm-0")'
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1923
  M b
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1924
  A d
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  1925
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  1926
    p
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1927
  R a
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  1928
  R p
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1929
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1930
44455
275365d85e3f copies-tests: clarify the description of the EA/AE cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44454
diff changeset
  1931
Comparing with a merge with colliding rename
275365d85e3f copies-tests: clarify the description of the EA/AE cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44454
diff changeset
  1932
--------------------------------------------
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1933
46543
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46542
diff changeset
  1934
Subcase: new copy information on both side
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46542
diff changeset
  1935
``````````````````````````````````````````
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46542
diff changeset
  1936
44455
275365d85e3f copies-tests: clarify the description of the EA/AE cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44454
diff changeset
  1937
- the "e-" branch renaming b to f (through 'g')
275365d85e3f copies-tests: clarify the description of the EA/AE cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44454
diff changeset
  1938
- the "a-" branch renaming d to f (through e)
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1939
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1940
  $ hg log -G --rev '::(desc("mAEm")+desc("mEAm"))'
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1941
  o    mEAm-0 merge with copies info on both side - A side: rename d to f, E side: b to f, (same content for f) - the other way
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1942
  |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1943
  +---o  mAEm-0 merge with copies info on both side - A side: rename d to f, E side: b to f, (same content for f) - one way
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1944
  | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1945
  | o  e-2 g -move-> f
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1946
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1947
  | o  e-1 b -move-> g
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1948
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1949
  o |  a-2: e -move-> f
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1950
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1951
  o |  a-1: d -move-> e
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1952
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  1953
  o  i-2: c -move-> d, s -move-> t
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1954
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  1955
  o  i-1: a -move-> c, p -move-> s
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1956
  |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1957
  o  i-0 initial commit: a b h
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1958
  
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  1959
#if no-changeset
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1960
  $ hg manifest --debug --rev 'desc("mAEm-0")' | grep '644   f'
46531
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46527
diff changeset
  1961
  2ff93c643948464ee1f871867910ae43a45b0bea 644   f
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1962
  $ hg manifest --debug --rev 'desc("mEAm-0")' | grep '644   f'
46531
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46527
diff changeset
  1963
  2ff93c643948464ee1f871867910ae43a45b0bea 644   f
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1964
  $ hg manifest --debug --rev 'desc("a-2")' | grep '644   f'
46531
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46527
diff changeset
  1965
  b76eb76580df486c3d51d63c5c210d4dd43a8ac7 644   f
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1966
  $ hg manifest --debug --rev 'desc("e-2")' | grep '644   f'
46531
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46527
diff changeset
  1967
  e8825b386367b29fec957283a80bb47b47483fe1 644   f
46552
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
  1968
  $ hg debugindex f | ../no-linkrev
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1969
     rev linkrev nodeid       p1           p2
46552
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
  1970
       0       * b76eb76580df 000000000000 000000000000
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
  1971
       1       * e8825b386367 000000000000 000000000000
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
  1972
       2       * 2ff93c643948 b76eb76580df e8825b386367
46553
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  1973
       3       * 2f649fba7eb2 b76eb76580df e8825b386367
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  1974
       4       * 774e7c1637d5 e8825b386367 b76eb76580df
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  1975
#else
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  1976
  $ hg manifest --debug --rev 'desc("mAEm-0")' | grep '644   f'
46531
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46527
diff changeset
  1977
  ae258f702dfeca05bf9b6a22a97a4b5645570f11 644   f
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  1978
  $ hg manifest --debug --rev 'desc("mEAm-0")' | grep '644   f'
46531
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46527
diff changeset
  1979
  ae258f702dfeca05bf9b6a22a97a4b5645570f11 644   f
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  1980
  $ hg manifest --debug --rev 'desc("a-2")' | grep '644   f'
46531
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46527
diff changeset
  1981
  ae258f702dfeca05bf9b6a22a97a4b5645570f11 644   f
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  1982
  $ hg manifest --debug --rev 'desc("e-2")' | grep '644   f'
46531
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46527
diff changeset
  1983
  ae258f702dfeca05bf9b6a22a97a4b5645570f11 644   f
46552
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
  1984
  $ hg debugindex f | ../no-linkrev
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  1985
     rev linkrev nodeid       p1           p2
46552
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
  1986
       0       * ae258f702dfe 000000000000 000000000000
46553
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  1987
       1       * d3613c1ec831 ae258f702dfe 000000000000
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  1988
       2       * 05e03c868bbc ae258f702dfe 000000000000
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  1989
#endif
44758
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  1990
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  1991
# Here the filelog based implementation is not looking at the rename
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  1992
# information (because the file exist on both side). However the changelog
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  1993
# based on works fine. We have different output.
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  1994
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1995
  $ hg status --copies --rev 'desc("a-2")' --rev 'desc("mAEm-0")'
46527
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
  1996
  M f (no-changeset !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
  1997
    b (no-filelog no-changeset !)
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1998
  R b
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1999
  $ hg status --copies --rev 'desc("a-2")' --rev 'desc("mEAm-0")'
46527
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
  2000
  M f (no-changeset !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
  2001
    b (no-filelog no-changeset !)
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2002
  R b
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2003
  $ hg status --copies --rev 'desc("e-2")' --rev 'desc("mAEm-0")'
46527
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
  2004
  M f (no-changeset !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
  2005
    d (no-filelog no-changeset !)
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2006
  R d
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2007
  $ hg status --copies --rev 'desc("e-2")' --rev 'desc("mEAm-0")'
46527
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
  2008
  M f (no-changeset !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
  2009
    d (no-filelog no-changeset !)
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2010
  R d
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2011
  $ hg status --copies --rev 'desc("i-2")' --rev 'desc("a-2")'
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2012
  A f
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2013
    d
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2014
  R d
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2015
  $ hg status --copies --rev 'desc("i-2")' --rev 'desc("e-2")'
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2016
  A f
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2017
    b
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2018
  R b
44758
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  2019
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  2020
# From here, we run status against revision where both source file exists.
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  2021
#
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  2022
# The filelog based implementation picks an arbitrary side based on revision
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  2023
# numbers. So the same side "wins" whatever the parents order is. This is
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  2024
# sub-optimal because depending on revision numbers means the result can be
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  2025
# different from one repository to the next.
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  2026
#
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  2027
# The changeset based algorithm use the parent order to break tie on conflicting
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  2028
# information and will have a different order depending on who is p1 and p2.
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  2029
# That order is stable accross repositories. (data from p1 prevails)
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  2030
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2031
  $ hg status --copies --rev 'desc("i-2")' --rev 'desc("mAEm-0")'
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2032
  A f
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2033
    d
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2034
  R b
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2035
  R d
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2036
  $ hg status --copies --rev 'desc("i-2")' --rev 'desc("mEAm-0")'
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2037
  A f
44758
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  2038
    d (filelog !)
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  2039
    b (no-filelog !)
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2040
  R b
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2041
  R d
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2042
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mAEm-0")'
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2043
  A f
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2044
    a
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2045
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2046
    p
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2047
  R a
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2048
  R b
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2049
  R p
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2050
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mEAm-0")'
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2051
  A f
44758
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  2052
    a (filelog !)
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  2053
    b (no-filelog !)
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2054
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2055
    p
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2056
  R a
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2057
  R b
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2058
  R p
44458
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
  2059
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2060
46543
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46542
diff changeset
  2061
Subcase: existing copy information overwritten on one branch
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46542
diff changeset
  2062
````````````````````````````````````````````````````````````
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46542
diff changeset
  2063
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2064
Note:
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2065
| In this case, one of the merge wrongly record a merge while there is none.
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2066
| This lead to bad copy tracing information to be dug up.
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2067
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2068
44458
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
  2069
Merge:
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
  2070
- one with change to an unrelated file (b)
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
  2071
- one overwriting a file (d) with a rename (from h to i to d)
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
  2072
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2073
  $ hg log -G --rev '::(desc("mBFm")+desc("mFBm"))'
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2074
  o    mFBm-0 simple merge - B side: unrelated change, F side: overwrite d with a copy (from h->i->d) - the other way
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2075
  |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2076
  +---o  mBFm-0 simple merge - B side: unrelated change, F side: overwrite d with a copy (from h->i->d) - one way
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2077
  | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2078
  | o  f-2: rename i -> d
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2079
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2080
  | o  f-1: rename h -> i
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2081
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2082
  o |  b-1: b update
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2083
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2084
  o  i-2: c -move-> d, s -move-> t
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2085
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2086
  o  i-1: a -move-> c, p -move-> s
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2087
  |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2088
  o  i-0 initial commit: a b h
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2089
  
44458
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
  2090
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mBFm-0")'
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
  2091
  M b
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
  2092
  A d
44687
1b8fd4af3318 mergestate: store about files resolved in favour of other
Pulkit Goyal <7895pulkit@gmail.com>
parents: 44678
diff changeset
  2093
    h
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2094
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2095
    p
44458
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
  2096
  R a
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
  2097
  R h
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2098
  R p
44458
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
  2099
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mFBm-0")'
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
  2100
  M b
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
  2101
  A d
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
  2102
    h
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2103
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2104
    p
44458
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
  2105
  R a
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
  2106
  R h
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2107
  R p
44458
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
  2108
  $ hg status --copies --rev 'desc("b-1")' --rev 'desc("mBFm-0")'
46527
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
  2109
  M d (no-changeset !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
  2110
    h (no-filelog no-changeset !)
44458
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
  2111
  R h
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
  2112
  $ hg status --copies --rev 'desc("f-2")' --rev 'desc("mBFm-0")'
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
  2113
  M b
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
  2114
  $ hg status --copies --rev 'desc("f-1")' --rev 'desc("mBFm-0")'
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
  2115
  M b
46527
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
  2116
  M d (no-changeset !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
  2117
    i (no-filelog no-changeset !)
44458
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
  2118
  R i
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
  2119
  $ hg status --copies --rev 'desc("b-1")' --rev 'desc("mFBm-0")'
46527
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
  2120
  M d (no-changeset !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
  2121
    h (no-filelog no-changeset !)
44458
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
  2122
  R h
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
  2123
  $ hg status --copies --rev 'desc("f-2")' --rev 'desc("mFBm-0")'
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
  2124
  M b
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
  2125
  $ hg status --copies --rev 'desc("f-1")' --rev 'desc("mFBm-0")'
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
  2126
  M b
46527
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
  2127
  M d (no-changeset !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
  2128
    i (no-filelog no-changeset !)
44458
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
  2129
  R i
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
  2130
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2131
#if no-changeset
44458
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
  2132
  $ hg log -Gfr 'desc("mBFm-0")' d
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2133
  o  f-2: rename i -> d
44458
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
  2134
  |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2135
  o  f-1: rename h -> i
44687
1b8fd4af3318 mergestate: store about files resolved in favour of other
Pulkit Goyal <7895pulkit@gmail.com>
parents: 44678
diff changeset
  2136
  :
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2137
  o  i-0 initial commit: a b h
44458
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
  2138
  
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2139
#else
45778
6620caf427ec tests: add notes about broken `hg log --follow <file>` with copies in extras
Martin von Zweigbergk <martinvonz@google.com>
parents: 45765
diff changeset
  2140
BROKEN: `hg log --follow <file>` relies on filelog metadata to work
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2141
  $ hg log -Gfr 'desc("mBFm-0")' d
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2142
  o  i-2: c -move-> d, s -move-> t
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2143
  |
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2144
  ~
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2145
#endif
44458
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
  2146
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2147
#if no-changeset
44458
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
  2148
  $ hg log -Gfr 'desc("mFBm-0")' d
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2149
  o  f-2: rename i -> d
44458
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
  2150
  |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2151
  o  f-1: rename h -> i
44458
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
  2152
  :
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2153
  o  i-0 initial commit: a b h
44458
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
  2154
  
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2155
#else
45778
6620caf427ec tests: add notes about broken `hg log --follow <file>` with copies in extras
Martin von Zweigbergk <martinvonz@google.com>
parents: 45765
diff changeset
  2156
BROKEN: `hg log --follow <file>` relies on filelog metadata to work
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2157
  $ hg log -Gfr 'desc("mFBm-0")' d
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2158
  o  i-2: c -move-> d, s -move-> t
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2159
  |
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2160
  ~
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2161
#endif
44459
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
  2162
46543
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46542
diff changeset
  2163
Subcase: reset of the copy history on one side
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46542
diff changeset
  2164
``````````````````````````````````````````````
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2165
44459
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
  2166
Merge:
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
  2167
- one with change to a file
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
  2168
- one deleting and recreating the file
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
  2169
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2170
Unlike in the 'BD/DB' cases, an actual merge happened here. So we should
44459
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
  2171
consider history and rename on both branch of the merge.
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
  2172
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2173
  $ hg log -G --rev '::(desc("mDGm")+desc("mGDm"))'
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2174
  o    mGDm-0 actual content merge, copies on one side - D side: delete and re-add (different content), G side: update content - the other way
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2175
  |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2176
  +---o  mDGm-0 actual content merge, copies on one side - D side: delete and re-add (different content), G side: update content - one way
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2177
  | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2178
  | o  g-1: update d
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2179
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2180
  o |  d-2 re-add d
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2181
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2182
  o |  d-1 delete d
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2183
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2184
  o  i-2: c -move-> d, s -move-> t
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2185
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2186
  o  i-1: a -move-> c, p -move-> s
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2187
  |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2188
  o  i-0 initial commit: a b h
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2189
  
44758
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  2190
One side of the merge have a long history with rename. The other side of the
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  2191
merge point to a new file with a smaller history. Each side is "valid".
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  2192
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  2193
(and again the filelog based algorithm only explore one, with a pick based on
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  2194
revision numbers)
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  2195
44459
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
  2196
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mDGm-0")'
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
  2197
  A d
44758
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  2198
    a (filelog !)
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2199
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2200
    p
44459
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
  2201
  R a
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2202
  R p
44459
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
  2203
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mGDm-0")'
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
  2204
  A d
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
  2205
    a
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2206
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2207
    p
44459
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
  2208
  R a
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2209
  R p
44459
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
  2210
  $ hg status --copies --rev 'desc("d-2")' --rev 'desc("mDGm-0")'
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
  2211
  M d
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
  2212
  $ hg status --copies --rev 'desc("d-2")' --rev 'desc("mGDm-0")'
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
  2213
  M d
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
  2214
  $ hg status --copies --rev 'desc("g-1")' --rev 'desc("mDGm-0")'
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
  2215
  M d
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
  2216
  $ hg status --copies --rev 'desc("g-1")' --rev 'desc("mGDm-0")'
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
  2217
  M d
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
  2218
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2219
#if no-changeset
44459
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
  2220
  $ hg log -Gfr 'desc("mDGm-0")' d
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2221
  o    mDGm-0 actual content merge, copies on one side - D side: delete and re-add (different content), G side: update content - one way
44459
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
  2222
  |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2223
  | o  g-1: update d
44459
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
  2224
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2225
  o |  d-2 re-add d
44459
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
  2226
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2227
  o  i-2: c -move-> d, s -move-> t
44459
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
  2228
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2229
  o  i-1: a -move-> c, p -move-> s
44459
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
  2230
  |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2231
  o  i-0 initial commit: a b h
44459
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
  2232
  
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2233
#else
45778
6620caf427ec tests: add notes about broken `hg log --follow <file>` with copies in extras
Martin von Zweigbergk <martinvonz@google.com>
parents: 45765
diff changeset
  2234
BROKEN: `hg log --follow <file>` relies on filelog metadata to work
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2235
  $ hg log -Gfr 'desc("mDGm-0")' d
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2236
  o    mDGm-0 actual content merge, copies on one side - D side: delete and re-add (different content), G side: update content - one way
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2237
  |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2238
  | o  g-1: update d
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2239
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2240
  o |  d-2 re-add d
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2241
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2242
  o  i-2: c -move-> d, s -move-> t
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2243
  |
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2244
  ~
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2245
#endif
44459
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
  2246
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
  2247
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2248
#if no-changeset
44459
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
  2249
  $ hg log -Gfr 'desc("mDGm-0")' d
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2250
  o    mDGm-0 actual content merge, copies on one side - D side: delete and re-add (different content), G side: update content - one way
44459
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
  2251
  |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2252
  | o  g-1: update d
44459
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
  2253
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2254
  o |  d-2 re-add d
44459
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
  2255
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2256
  o  i-2: c -move-> d, s -move-> t
44459
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
  2257
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2258
  o  i-1: a -move-> c, p -move-> s
44459
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
  2259
  |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2260
  o  i-0 initial commit: a b h
44459
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
  2261
  
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2262
#else
45778
6620caf427ec tests: add notes about broken `hg log --follow <file>` with copies in extras
Martin von Zweigbergk <martinvonz@google.com>
parents: 45765
diff changeset
  2263
BROKEN: `hg log --follow <file>` relies on filelog metadata to work
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2264
  $ hg log -Gfr 'desc("mDGm-0")' d
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2265
  o    mDGm-0 actual content merge, copies on one side - D side: delete and re-add (different content), G side: update content - one way
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2266
  |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2267
  | o  g-1: update d
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2268
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2269
  o |  d-2 re-add d
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2270
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2271
  o  i-2: c -move-> d, s -move-> t
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2272
  |
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2273
  ~
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2274
#endif
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  2275
46543
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46542
diff changeset
  2276
Subcase: merging a change to a file with a "copy overwrite" to that file from another branch
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46542
diff changeset
  2277
````````````````````````````````````````````````````````````````````````````````````````````
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  2278
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  2279
Merge:
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  2280
- one with change to a file (d)
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  2281
- one overwriting that file with a rename (from h to i, to d)
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  2282
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  2283
This case is similar to BF/FB, but an actual merge happens, so both side of the
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  2284
history are relevant.
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  2285
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  2286
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2287
  $ hg log -G --rev '::(desc("mGFm")+desc("mFGm"))'
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2288
  o    mGFm-0 merge - G side: content change, F side: copy overwrite, no content change - the other way
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2289
  |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2290
  +---o  mFGm-0 merge - G side: content change, F side: copy overwrite, no content change - one way
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2291
  | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2292
  | o  g-1: update d
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2293
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2294
  o |  f-2: rename i -> d
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2295
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2296
  o |  f-1: rename h -> i
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2297
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2298
  o  i-2: c -move-> d, s -move-> t
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2299
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2300
  o  i-1: a -move-> c, p -move-> s
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2301
  |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2302
  o  i-0 initial commit: a b h
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2303
  
46160
1d6aac94e6d5 copies: explain the "arbitrary" copy source pick in case of conflict
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46159
diff changeset
  2304
1d6aac94e6d5 copies: explain the "arbitrary" copy source pick in case of conflict
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46159
diff changeset
  2305
Note:
1d6aac94e6d5 copies: explain the "arbitrary" copy source pick in case of conflict
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46159
diff changeset
  2306
| In this case, the merge get conflicting information since on one side we have
1d6aac94e6d5 copies: explain the "arbitrary" copy source pick in case of conflict
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46159
diff changeset
  2307
| "a -> c -> d". and one the other one we have "h -> i -> d".
1d6aac94e6d5 copies: explain the "arbitrary" copy source pick in case of conflict
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46159
diff changeset
  2308
|
1d6aac94e6d5 copies: explain the "arbitrary" copy source pick in case of conflict
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46159
diff changeset
  2309
| The current code arbitrarily pick one side depending the ordering of the merged hash:
1d6aac94e6d5 copies: explain the "arbitrary" copy source pick in case of conflict
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46159
diff changeset
  2310
1d6aac94e6d5 copies: explain the "arbitrary" copy source pick in case of conflict
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46159
diff changeset
  2311
In this case, the file hash from "f-2" is lower, so it will be `p1` of the resulting filenode its copy tracing information will win (and trace back to "h"):
1d6aac94e6d5 copies: explain the "arbitrary" copy source pick in case of conflict
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46159
diff changeset
  2312
1d6aac94e6d5 copies: explain the "arbitrary" copy source pick in case of conflict
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46159
diff changeset
  2313
Details on this hash ordering pick:
1d6aac94e6d5 copies: explain the "arbitrary" copy source pick in case of conflict
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46159
diff changeset
  2314
1d6aac94e6d5 copies: explain the "arbitrary" copy source pick in case of conflict
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46159
diff changeset
  2315
  $ hg manifest --debug 'desc("g-1")' | egrep 'd$'
46531
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46527
diff changeset
  2316
  17ec97e605773eb44a117d1136b3849bcdc1924f 644   d (no-changeset !)
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46527
diff changeset
  2317
  5cce88bf349f7c742bb440f2c53f81db9c294279 644   d (changeset !)
46160
1d6aac94e6d5 copies: explain the "arbitrary" copy source pick in case of conflict
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46159
diff changeset
  2318
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("g-1")' d
1d6aac94e6d5 copies: explain the "arbitrary" copy source pick in case of conflict
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46159
diff changeset
  2319
  A d
1d6aac94e6d5 copies: explain the "arbitrary" copy source pick in case of conflict
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46159
diff changeset
  2320
    a (no-changeset no-compatibility !)
1d6aac94e6d5 copies: explain the "arbitrary" copy source pick in case of conflict
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46159
diff changeset
  2321
1d6aac94e6d5 copies: explain the "arbitrary" copy source pick in case of conflict
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46159
diff changeset
  2322
  $ hg manifest --debug 'desc("f-2")' | egrep 'd$'
46531
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46527
diff changeset
  2323
  7b79e2fe0c8924e0e598a82f048a7b024afa4d96 644   d (no-changeset !)
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46527
diff changeset
  2324
  ae258f702dfeca05bf9b6a22a97a4b5645570f11 644   d (changeset !)
46160
1d6aac94e6d5 copies: explain the "arbitrary" copy source pick in case of conflict
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46159
diff changeset
  2325
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("f-2")' d
1d6aac94e6d5 copies: explain the "arbitrary" copy source pick in case of conflict
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46159
diff changeset
  2326
  A d
1d6aac94e6d5 copies: explain the "arbitrary" copy source pick in case of conflict
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46159
diff changeset
  2327
    h (no-changeset no-compatibility !)
1d6aac94e6d5 copies: explain the "arbitrary" copy source pick in case of conflict
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46159
diff changeset
  2328
1d6aac94e6d5 copies: explain the "arbitrary" copy source pick in case of conflict
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46159
diff changeset
  2329
Copy tracing data on the resulting merge:
1d6aac94e6d5 copies: explain the "arbitrary" copy source pick in case of conflict
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46159
diff changeset
  2330
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  2331
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mFGm-0")'
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  2332
  A d
46527
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
  2333
    h (no-filelog !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
  2334
    a (filelog !)
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2335
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2336
    p
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  2337
  R a
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  2338
  R h
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2339
  R p
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  2340
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mGFm-0")'
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  2341
  A d
46527
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
  2342
    a (no-changeset !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
  2343
    h (changeset !)
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2344
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2345
    p
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  2346
  R a
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  2347
  R h
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2348
  R p
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  2349
  $ hg status --copies --rev 'desc("f-2")' --rev 'desc("mFGm-0")'
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  2350
  M d
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  2351
  $ hg status --copies --rev 'desc("f-2")' --rev 'desc("mGFm-0")'
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  2352
  M d
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  2353
  $ hg status --copies --rev 'desc("f-1")' --rev 'desc("mFGm-0")'
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  2354
  M d
44758
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  2355
    i (no-filelog !)
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  2356
  R i
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  2357
  $ hg status --copies --rev 'desc("f-1")' --rev 'desc("mGFm-0")'
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  2358
  M d
44758
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  2359
    i (no-filelog !)
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  2360
  R i
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  2361
  $ hg status --copies --rev 'desc("g-1")' --rev 'desc("mFGm-0")'
46527
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
  2362
  M d (no-changeset !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
  2363
    h (no-filelog no-changeset !)
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  2364
  R h
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  2365
  $ hg status --copies --rev 'desc("g-1")' --rev 'desc("mGFm-0")'
46527
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
  2366
  M d (no-changeset !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
  2367
    h (no-filelog no-changeset !)
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  2368
  R h
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  2369
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2370
#if no-changeset
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  2371
  $ hg log -Gfr 'desc("mFGm-0")' d
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2372
  o    mFGm-0 merge - G side: content change, F side: copy overwrite, no content change - one way
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  2373
  |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2374
  | o  g-1: update d
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  2375
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2376
  o |  f-2: rename i -> d
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  2377
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2378
  o |  f-1: rename h -> i
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  2379
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2380
  o  i-2: c -move-> d, s -move-> t
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  2381
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2382
  o  i-1: a -move-> c, p -move-> s
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  2383
  |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2384
  o  i-0 initial commit: a b h
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  2385
  
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2386
#else
45778
6620caf427ec tests: add notes about broken `hg log --follow <file>` with copies in extras
Martin von Zweigbergk <martinvonz@google.com>
parents: 45765
diff changeset
  2387
BROKEN: `hg log --follow <file>` relies on filelog metadata to work
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2388
  $ hg log -Gfr 'desc("mFGm-0")' d
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2389
  o  g-1: update d
46527
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
  2390
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2391
  o  i-2: c -move-> d, s -move-> t
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2392
  |
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2393
  ~
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2394
#endif
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  2395
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2396
#if no-changeset
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  2397
  $ hg log -Gfr 'desc("mGFm-0")' d
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2398
  o    mGFm-0 merge - G side: content change, F side: copy overwrite, no content change - the other way
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  2399
  |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2400
  | o  g-1: update d
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  2401
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2402
  o |  f-2: rename i -> d
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  2403
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2404
  o |  f-1: rename h -> i
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  2405
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2406
  o  i-2: c -move-> d, s -move-> t
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  2407
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2408
  o  i-1: a -move-> c, p -move-> s
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  2409
  |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2410
  o  i-0 initial commit: a b h
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  2411
  
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2412
#else
45778
6620caf427ec tests: add notes about broken `hg log --follow <file>` with copies in extras
Martin von Zweigbergk <martinvonz@google.com>
parents: 45765
diff changeset
  2413
BROKEN: `hg log --follow <file>` relies on filelog metadata to work
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2414
  $ hg log -Gfr 'desc("mGFm-0")' d
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2415
  o  g-1: update d
46527
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
  2416
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2417
  o  i-2: c -move-> d, s -move-> t
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2418
  |
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2419
  ~
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2420
#endif
45460
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
  2421
46559
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2422
Subcase: new copy information on both side with an actual merge happening
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2423
`````````````````````````````````````````````````````````````````````````
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2424
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2425
- the "p-" branch renaming 't' to 'v' (through 'u')
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2426
- the "q-" branch renaming 'r' to 'v' (through 'w')
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2427
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2428
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2429
  $ hg log -G --rev '::(desc("mPQm")+desc("mQPm"))'
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2430
  o    mQPm-0 merge with copies info on both side - P side: rename t to v, Q side: r to v, (different content) - the other way
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2431
  |\
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2432
  +---o  mPQm-0 merge with copies info on both side - P side: rename t to v, Q side: r to v, (different content) - one way
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2433
  | |/
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2434
  | o  q-2 w -move-> v
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2435
  | |
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2436
  | o  q-1 r -move-> w
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2437
  | |
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2438
  o |  p-2: u -move-> v
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2439
  | |
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2440
  o |  p-1: t -move-> u
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2441
  |/
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2442
  o  i-2: c -move-> d, s -move-> t
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2443
  |
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2444
  o  i-1: a -move-> c, p -move-> s
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2445
  |
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2446
  o  i-0 initial commit: a b h
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2447
  
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2448
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2449
#if no-changeset
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2450
  $ hg manifest --debug --rev 'desc("mPQm-0")' | grep '644   v'
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2451
  0946c662ef16e4e67397fd717389eb6693d41749 644   v
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2452
  $ hg manifest --debug --rev 'desc("mQPm-0")' | grep '644   v'
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2453
  0db3aad7fcc1ec27fab57060e327b9e864ea0cc9 644   v
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2454
  $ hg manifest --debug --rev 'desc("p-2")' | grep '644   v'
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2455
  3f91841cd75cadc9a1f1b4e7c1aa6d411f76032e 644   v
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2456
  $ hg manifest --debug --rev 'desc("q-2")' | grep '644   v'
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2457
  c43c088b811fd27983c0a9aadf44f3343cd4cd7e 644   v
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2458
  $ hg debugindex v | ../no-linkrev
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2459
     rev linkrev nodeid       p1           p2
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2460
       0       * 3f91841cd75c 000000000000 000000000000
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2461
       1       * c43c088b811f 000000000000 000000000000
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2462
       2       * 0946c662ef16 3f91841cd75c c43c088b811f
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2463
       3       * 0db3aad7fcc1 c43c088b811f 3f91841cd75c
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2464
#else
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2465
  $ hg manifest --debug --rev 'desc("mPQm-0")' | grep '644   v'
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2466
  65fde9f6e4d4da23b3f610e07b53673ea9541d75 644   v
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2467
  $ hg manifest --debug --rev 'desc("mQPm-0")' | grep '644   v'
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2468
  a098dda6413aecf154eefc976afc38b295acb7e5 644   v
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2469
  $ hg manifest --debug --rev 'desc("p-2")' | grep '644   v'
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2470
  5aed6a8dbff0301328c08360d24354d3d064cf0d 644   v
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2471
  $ hg manifest --debug --rev 'desc("q-2")' | grep '644   v'
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2472
  a38b2fa170219750dac9bc7d19df831f213ba708 644   v
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2473
  $ hg debugindex v | ../no-linkrev
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2474
     rev linkrev nodeid       p1           p2
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2475
       0       * 5aed6a8dbff0 000000000000 000000000000
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2476
       1       * a38b2fa17021 000000000000 000000000000
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2477
       2       * 65fde9f6e4d4 5aed6a8dbff0 a38b2fa17021
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2478
       3       * a098dda6413a a38b2fa17021 5aed6a8dbff0
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2479
#endif
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2480
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2481
# Here the filelog based implementation is not looking at the rename
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2482
# information (because the file exist on both side). However the changelog
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2483
# based on works fine. We have different output.
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2484
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2485
  $ hg status --copies --rev 'desc("p-2")' --rev 'desc("mPQm-0")'
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2486
  M v
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2487
    r (no-filelog !)
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2488
  R r
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2489
  $ hg status --copies --rev 'desc("p-2")' --rev 'desc("mQPm-0")'
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2490
  M v
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2491
    r (no-filelog !)
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2492
  R r
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2493
  $ hg status --copies --rev 'desc("q-2")' --rev 'desc("mPQm-0")'
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2494
  M v
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2495
    t (no-filelog !)
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2496
  R t
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2497
  $ hg status --copies --rev 'desc("q-2")' --rev 'desc("mQPm-0")'
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2498
  M v
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2499
    t (no-filelog !)
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2500
  R t
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2501
  $ hg status --copies --rev 'desc("i-2")' --rev 'desc("p-2")'
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2502
  A v
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2503
    t
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2504
  R t
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2505
  $ hg status --copies --rev 'desc("i-2")' --rev 'desc("q-2")'
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2506
  A v
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2507
    r
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2508
  R r
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2509
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2510
# From here, we run status against revision where both source file exists.
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2511
#
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2512
# The filelog based implementation picks an arbitrary side based on revision
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2513
# numbers. So the same side "wins" whatever the parents order is. This is
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2514
# sub-optimal because depending on revision numbers means the result can be
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2515
# different from one repository to the next.
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2516
#
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2517
# The changeset based algorithm use the parent order to break tie on conflicting
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2518
# information and will have a different order depending on who is p1 and p2.
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2519
# That order is stable accross repositories. (data from p1 prevails)
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2520
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2521
  $ hg status --copies --rev 'desc("i-2")' --rev 'desc("mPQm-0")'
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2522
  A v
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2523
    t
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2524
  R r
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2525
  R t
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2526
  $ hg status --copies --rev 'desc("i-2")' --rev 'desc("mQPm-0")'
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2527
  A v
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2528
    t (filelog !)
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2529
    r (no-filelog !)
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2530
  R r
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2531
  R t
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2532
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mPQm-0")'
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2533
  A d
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2534
    a
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2535
  A v
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2536
    r (filelog !)
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2537
    p (no-filelog !)
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2538
  R a
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2539
  R p
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2540
  R r
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2541
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mQPm-0")'
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2542
  A d
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2543
    a
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2544
  A v
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2545
    r
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2546
  R a
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2547
  R p
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2548
  R r
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2549
45460
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
  2550
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
  2551
Comparing with merging with a deletion (and keeping the file)
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
  2552
-------------------------------------------------------------
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
  2553
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
  2554
Merge:
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
  2555
- one removing a file (d)
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
  2556
- one updating that file
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
  2557
- the merge keep the modified version of the file (canceling the delete)
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
  2558
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
  2559
In this case, the file keep on living after the merge. So we should not drop its
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
  2560
copy tracing chain.
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
  2561
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
  2562
  $ hg log -G --rev '::(desc("mCGm")+desc("mGCm"))'
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2563
  o    mGCm-0 merge updated/deleted - revive the file (updated content) - the other way
45460
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
  2564
  |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2565
  +---o  mCGm-0 merge updated/deleted - revive the file (updated content) - one way
45460
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
  2566
  | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2567
  | o  g-1: update d
45460
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
  2568
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2569
  o |  c-1 delete d
45460
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
  2570
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2571
  o  i-2: c -move-> d, s -move-> t
45460
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
  2572
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2573
  o  i-1: a -move-> c, p -move-> s
45460
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
  2574
  |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2575
  o  i-0 initial commit: a b h
45460
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
  2576
  
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
  2577
45670
a8fb29b05f92 salvaged: properly deal with salvaged file during copy tracing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45669
diff changeset
  2578
'a' is the copy source of 'd'
45460
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
  2579
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
  2580
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mCGm-0")'
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
  2581
  A d
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2582
    a (no-compatibility no-changeset !)
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2583
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2584
    p
45460
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
  2585
  R a
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2586
  R p
45460
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
  2587
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mGCm-0")'
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
  2588
  A d
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2589
    a (no-compatibility no-changeset !)
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2590
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2591
    p
45460
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
  2592
  R a
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2593
  R p
45460
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
  2594
  $ hg status --copies --rev 'desc("c-1")' --rev 'desc("mCGm-0")'
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
  2595
  A d
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
  2596
  $ hg status --copies --rev 'desc("c-1")' --rev 'desc("mGCm-0")'
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
  2597
  A d
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
  2598
  $ hg status --copies --rev 'desc("g-1")' --rev 'desc("mCGm-0")'
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
  2599
  $ hg status --copies --rev 'desc("g-1")' --rev 'desc("mGCm-0")'
45461
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  2600
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  2601
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  2602
Comparing with merge restoring an untouched deleted file
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  2603
--------------------------------------------------------
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  2604
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  2605
Merge:
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  2606
- one removing a file (d)
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  2607
- one leaving the file untouched
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  2608
- the merge actively restore the file to the same content.
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  2609
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  2610
In this case, the file keep on living after the merge. So we should not drop its
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  2611
copy tracing chain.
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  2612
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  2613
  $ hg log -G --rev '::(desc("mCB-revert-m")+desc("mBC-revert-m"))'
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2614
  o    mBC-revert-m-0 merge explicitely revive deleted file - B side: unrelated change, C side: delete d (restored by merge) - the other way
45461
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  2615
  |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2616
  +---o  mCB-revert-m-0 merge explicitely revive deleted file - B side: unrelated change, C side: delete d (restored by merge) - one way
45461
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  2617
  | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2618
  | o  c-1 delete d
45461
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  2619
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2620
  o |  b-1: b update
45461
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  2621
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2622
  o  i-2: c -move-> d, s -move-> t
45461
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  2623
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2624
  o  i-1: a -move-> c, p -move-> s
45461
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  2625
  |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2626
  o  i-0 initial commit: a b h
45461
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  2627
  
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  2628
45670
a8fb29b05f92 salvaged: properly deal with salvaged file during copy tracing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45669
diff changeset
  2629
'a' is the the copy source of 'd'
45461
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  2630
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  2631
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mCB-revert-m-0")'
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  2632
  M b
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  2633
  A d
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2634
    a (no-compatibility no-changeset !)
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2635
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2636
    p
45461
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  2637
  R a
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2638
  R p
45461
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  2639
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mBC-revert-m-0")'
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  2640
  M b
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  2641
  A d
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2642
    a (no-compatibility no-changeset !)
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2643
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2644
    p
45461
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  2645
  R a
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2646
  R p
45461
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  2647
  $ hg status --copies --rev 'desc("c-1")' --rev 'desc("mCB-revert-m-0")'
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  2648
  M b
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  2649
  A d
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  2650
  $ hg status --copies --rev 'desc("c-1")' --rev 'desc("mBC-revert-m-0")'
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  2651
  M b
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  2652
  A d
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  2653
  $ hg status --copies --rev 'desc("b-1")' --rev 'desc("mCB-revert-m-0")'
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  2654
  $ hg status --copies --rev 'desc("b-1")' --rev 'desc("mBC-revert-m-0")'
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  2655
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  2656
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  2657
Merging a branch where a rename was deleted with a branch where the same file was renamed
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  2658
------------------------------------------------------------------------------------------
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  2659
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  2660
Create a "conflicting" merge where `d` get removed on one branch before its
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  2661
rename information actually conflict with the other branch.
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  2662
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  2663
(the copy information from the branch that was not deleted should win).
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  2664
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  2665
  $ hg log -G --rev '::(desc("mCH-delete-before-conflict-m")+desc("mHC-delete-before-conflict-m"))'
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2666
  o    mHC-delete-before-conflict-m-0 simple merge - C side: d is the results of renames then deleted, H side: d is result of another rename (same content as the other branch) - the other way
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  2667
  |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2668
  +---o  mCH-delete-before-conflict-m-0 simple merge - C side: d is the results of renames then deleted, H side: d is result of another rename (same content as the other branch) - one way
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  2669
  | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2670
  | o  h-1: b -(move)-> d
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  2671
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2672
  o |  c-1 delete d
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  2673
  | |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2674
  o |  i-2: c -move-> d, s -move-> t
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  2675
  | |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2676
  o |  i-1: a -move-> c, p -move-> s
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  2677
  |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2678
  o  i-0 initial commit: a b h
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  2679
  
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  2680
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  2681
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mCH-delete-before-conflict-m")'
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  2682
  A d
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  2683
    b (no-compatibility no-changeset !)
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2684
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2685
    p
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  2686
  R a
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  2687
  R b
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2688
  R p
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  2689
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mHC-delete-before-conflict-m")'
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  2690
  A d
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  2691
    b
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2692
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2693
    p
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  2694
  R a
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  2695
  R b
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2696
  R p
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  2697
  $ hg status --copies --rev 'desc("c-1")' --rev 'desc("mCH-delete-before-conflict-m")'
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  2698
  A d
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  2699
    b
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  2700
  R b
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  2701
  $ hg status --copies --rev 'desc("c-1")' --rev 'desc("mHC-delete-before-conflict-m")'
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  2702
  A d
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  2703
    b
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  2704
  R b
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  2705
  $ hg status --copies --rev 'desc("h-1")' --rev 'desc("mCH-delete-before-conflict-m")'
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2706
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2707
    p
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  2708
  R a
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2709
  R p
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  2710
  $ hg status --copies --rev 'desc("h-1")' --rev 'desc("mHC-delete-before-conflict-m")'
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2711
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2712
    p
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  2713
  R a
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2714
  R p
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2715
46553
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2716
Variant of previous with extra changes introduced by the merge
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2717
--------------------------------------------------------------
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2718
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2719
(see case declaration for details)
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2720
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2721
Subcase: merge has same initial content on both side, but merge introduced a change
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2722
```````````````````````````````````````````````````````````````````````````````````
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2723
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2724
- the "e-" branch renaming b to f (through 'g')
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2725
- the "a-" branch renaming d to f (through e)
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2726
- the merge add new change to b
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2727
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2728
  $ hg log -G --rev '::(desc("mAE-change-m")+desc("mEA-change-m"))'
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2729
  o    mEA-change-m-0 merge with file update and copies info on both side - A side: rename d to f, E side: b to f, (same content for f in parent) - the other way
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2730
  |\
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2731
  +---o  mAE-change-m-0 merge with file update and copies info on both side - A side: rename d to f, E side: b to f, (same content for f in parent) - one way
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2732
  | |/
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2733
  | o  e-2 g -move-> f
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2734
  | |
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2735
  | o  e-1 b -move-> g
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2736
  | |
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2737
  o |  a-2: e -move-> f
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2738
  | |
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2739
  o |  a-1: d -move-> e
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2740
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2741
  o  i-2: c -move-> d, s -move-> t
46553
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2742
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2743
  o  i-1: a -move-> c, p -move-> s
46553
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2744
  |
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2745
  o  i-0 initial commit: a b h
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2746
  
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2747
#if no-changeset
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2748
  $ hg manifest --debug --rev 'desc("mAE-change-m-0")' | grep '644   f'
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2749
  2f649fba7eb284e720d02b61f0546fcef694c045 644   f
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2750
  $ hg manifest --debug --rev 'desc("mEA-change-m-0")' | grep '644   f'
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2751
  774e7c1637d536b99e2d8ef16fd731f87a82bd09 644   f
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2752
  $ hg manifest --debug --rev 'desc("a-2")' | grep '644   f'
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2753
  b76eb76580df486c3d51d63c5c210d4dd43a8ac7 644   f
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2754
  $ hg manifest --debug --rev 'desc("e-2")' | grep '644   f'
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2755
  e8825b386367b29fec957283a80bb47b47483fe1 644   f
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2756
  $ hg debugindex f | ../no-linkrev
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2757
     rev linkrev nodeid       p1           p2
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2758
       0       * b76eb76580df 000000000000 000000000000
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2759
       1       * e8825b386367 000000000000 000000000000
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2760
       2       * 2ff93c643948 b76eb76580df e8825b386367
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2761
       3       * 2f649fba7eb2 b76eb76580df e8825b386367
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2762
       4       * 774e7c1637d5 e8825b386367 b76eb76580df
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2763
#else
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2764
  $ hg manifest --debug --rev 'desc("mAE-change-m-0")' | grep '644   f'
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2765
  d3613c1ec8310a812ac4268fd853ac576b6caea5 644   f
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2766
  $ hg manifest --debug --rev 'desc("mEA-change-m-0")' | grep '644   f'
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2767
  05e03c868bbcab4a649cb33a238d7aa07398a469 644   f
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2768
  $ hg manifest --debug --rev 'desc("a-2")' | grep '644   f'
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2769
  ae258f702dfeca05bf9b6a22a97a4b5645570f11 644   f
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2770
  $ hg manifest --debug --rev 'desc("e-2")' | grep '644   f'
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2771
  ae258f702dfeca05bf9b6a22a97a4b5645570f11 644   f
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2772
  $ hg debugindex f | ../no-linkrev
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2773
     rev linkrev nodeid       p1           p2
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2774
       0       * ae258f702dfe 000000000000 000000000000
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2775
       1       * d3613c1ec831 ae258f702dfe 000000000000
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2776
       2       * 05e03c868bbc ae258f702dfe 000000000000
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2777
#endif
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2778
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2779
# Here the filelog based implementation is not looking at the rename
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2780
# information (because the file exist on both side). However the changelog
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2781
# based on works fine. We have different output.
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2782
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2783
  $ hg status --copies --rev 'desc("a-2")' --rev 'desc("mAE-change-m-0")'
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2784
  M f
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2785
    b (no-filelog !)
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2786
  R b
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2787
  $ hg status --copies --rev 'desc("a-2")' --rev 'desc("mEA-change-m-0")'
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2788
  M f
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2789
    b (no-filelog !)
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2790
  R b
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2791
  $ hg status --copies --rev 'desc("e-2")' --rev 'desc("mAE-change-m-0")'
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2792
  M f
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2793
    d (no-filelog !)
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2794
  R d
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2795
  $ hg status --copies --rev 'desc("e-2")' --rev 'desc("mEA-change-m-0")'
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2796
  M f
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2797
    d (no-filelog !)
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2798
  R d
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2799
  $ hg status --copies --rev 'desc("i-2")' --rev 'desc("a-2")'
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2800
  A f
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2801
    d
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2802
  R d
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2803
  $ hg status --copies --rev 'desc("i-2")' --rev 'desc("e-2")'
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2804
  A f
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2805
    b
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2806
  R b
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2807
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2808
# From here, we run status against revision where both source file exists.
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2809
#
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2810
# The filelog based implementation picks an arbitrary side based on revision
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2811
# numbers. So the same side "wins" whatever the parents order is. This is
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2812
# sub-optimal because depending on revision numbers means the result can be
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2813
# different from one repository to the next.
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2814
#
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2815
# The changeset based algorithm use the parent order to break tie on conflicting
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2816
# information and will have a different order depending on who is p1 and p2.
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2817
# That order is stable accross repositories. (data from p1 prevails)
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2818
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2819
  $ hg status --copies --rev 'desc("i-2")' --rev 'desc("mAE-change-m-0")'
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2820
  A f
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2821
    d
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2822
  R b
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2823
  R d
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2824
  $ hg status --copies --rev 'desc("i-2")' --rev 'desc("mEA-change-m-0")'
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2825
  A f
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2826
    d (filelog !)
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2827
    b (no-filelog !)
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2828
  R b
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2829
  R d
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2830
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mAE-change-m-0")'
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2831
  A f
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2832
    a
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2833
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2834
    p
46553
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2835
  R a
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2836
  R b
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2837
  R p
46553
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2838
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mEA-change-m-0")'
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2839
  A f
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2840
    a (filelog !)
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2841
    b (no-filelog !)
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2842
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2843
    p
46553
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2844
  R a
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2845
  R b
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2846
  R p
46553
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2847
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2848
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2849
Decision from previous merge are properly chained with later merge
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2850
------------------------------------------------------------------
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2851
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2852
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2853
Subcase: chaining conflicting rename resolution
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2854
```````````````````````````````````````````````
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2855
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2856
The "mAEm" and "mEAm" case create a rename tracking conflict on file 'f'. We
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2857
add more change on the respective branch and merge again. These second merge
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2858
does not involve the file 'f' and the arbitration done within "mAEm" and "mEA"
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2859
about that file should stay unchanged.
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2860
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2861
The result from mAEm is the same for the subsequent merge:
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2862
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2863
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mAEm")' f
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2864
  A f
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2865
    a (filelog !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2866
    a (sidedata !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2867
    a (upgraded !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2868
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2869
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mAE,Km")' f
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2870
  A f
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2871
    a (filelog !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2872
    a (sidedata !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2873
    a (upgraded !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2874
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2875
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mK,AEm")' f
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2876
  A f
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2877
    a (filelog !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2878
    a (missing-correct-output sidedata !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2879
    a (missing-correct-output upgraded !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2880
    b (known-bad-output sidedata !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2881
    b (known-bad-output upgraded !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2882
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2883
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2884
The result from mEAm is the same for the subsequent merge:
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2885
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2886
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mEAm")' f
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2887
  A f
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2888
    a (filelog !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2889
    b (sidedata !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2890
    b (upgraded !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2891
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2892
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mEA,Jm")' f
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2893
  A f
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2894
    a (filelog !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2895
    b (sidedata !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2896
    b (upgraded !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2897
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2898
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mJ,EAm")' f
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2899
  A f
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2900
    a (filelog !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2901
    b (missing-correct-output sidedata !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2902
    b (missing-correct-output upgraded !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2903
    a (known-bad-output sidedata !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2904
    a (known-bad-output upgraded !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2905
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2906
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2907
Subcase: chaining salvage information during a merge
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2908
````````````````````````````````````````````````````
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2909
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2910
We add more change on the branch were the file was deleted. merging again
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2911
should preserve the fact eh file was salvaged.
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2912
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2913
reference output:
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2914
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2915
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mCB-revert-m-0")'
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2916
  M b
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2917
  A d
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2918
    a (filelog !)
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2919
    a (sidedata !)
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2920
    a (upgraded !)
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2921
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2922
    p
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2923
  R a
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2924
  R p
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2925
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mBC-revert-m-0")'
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2926
  M b
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2927
  A d
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2928
    a (filelog !)
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2929
    a (sidedata !)
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2930
    a (upgraded !)
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2931
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2932
    p
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2933
  R a
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2934
  R p
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2935
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2936
chained output
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2937
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2938
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mBC+revert,Lm")'
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2939
  M b
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2940
  A d
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2941
    a (filelog !)
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2942
    a (missing-correct-output sidedata !)
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2943
    a (missing-correct-output upgraded !)
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2944
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2945
    p
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2946
  A unrelated-l
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2947
  R a
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2948
  R p
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2949
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mCB+revert,Lm")'
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2950
  M b
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2951
  A d
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2952
    a (filelog !)
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2953
    a (missing-correct-output sidedata !)
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2954
    a (missing-correct-output upgraded !)
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2955
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2956
    p
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2957
  A unrelated-l
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2958
  R a
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2959
  R p
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2960
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mL,BC+revertm")'
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2961
  M b
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2962
  A d
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2963
    a (filelog !)
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2964
    a (missing-correct-output sidedata !)
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2965
    a (missing-correct-output upgraded !)
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2966
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2967
    p
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2968
  A unrelated-l
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2969
  R a
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2970
  R p
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2971
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mL,CB+revertm")'
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2972
  M b
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2973
  A d
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2974
    a (filelog !)
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2975
    a (missing-correct-output sidedata !)
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2976
    a (missing-correct-output upgraded !)
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2977
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2978
    p
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2979
  A unrelated-l
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2980
  R a
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2981
  R p
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2982
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  2983
Subcase: chaining "merged" information during a merge
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  2984
``````````````````````````````````````````````````````
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  2985
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  2986
When a non-rename change are merged with a copy overwrite, the merge pick the copy source from (p1) as the reference. We should preserve this information in subsequent merges.
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  2987
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  2988
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  2989
reference output:
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  2990
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  2991
 (for details about the filelog pick, check the mFGm/mGFm case)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  2992
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  2993
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mFGm")' d
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  2994
  A d
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  2995
    a (filelog !)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  2996
    h (sidedata !)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  2997
    h (upgraded !)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  2998
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mGFm")' d
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  2999
  A d
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3000
    a (filelog !)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3001
    a (sidedata !)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3002
    a (upgraded !)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3003
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3004
Chained output
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3005
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3006
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mO,FGm")' d
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3007
  A d
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3008
    a (filelog !)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3009
    h (sidedata !)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3010
    h (upgraded !)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3011
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mFG,Om")' d
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3012
  A d
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3013
    a (filelog !)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3014
    h (sidedata !)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3015
    h (upgraded !)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3016
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3017
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3018
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mGF,Nm")' d
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3019
  A d
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3020
    a (filelog !)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3021
    a (missing-correct-output sidedata !)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3022
    a (missing-correct-output upgraded !)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3023
    h (known-bad-output sidedata !)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3024
    h (known-bad-output upgraded !)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3025
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mN,GFm")' d
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3026
  A d
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3027
    a (filelog !)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3028
    a (missing-correct-output sidedata !)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3029
    a (missing-correct-output upgraded !)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3030
    h (known-bad-output sidedata !)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3031
    h (known-bad-output upgraded !)
46554
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3032
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3033
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3034
Subcase: chaining conflicting rename resolution, with extra change during the merge
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3035
```````````````````````````````````````````````````````````````````````````````````
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3036
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3037
The "mAEm" and "mEAm" case create a rename tracking conflict on file 'f'. We
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3038
add more change on the respective branch and merge again. These second merge
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3039
does not involve the file 'f' and the arbitration done within "mAEm" and "mEA"
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3040
about that file should stay unchanged.
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3041
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3042
The result from mAEm is the same for the subsequent merge:
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3043
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3044
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mAE-change-m")' f
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3045
  A f
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3046
    a (filelog !)
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3047
    a (sidedata !)
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3048
    a (upgraded !)
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3049
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3050
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mAE-change,Km")' f
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3051
  A f
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3052
    a (filelog !)
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3053
    a (sidedata !)
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3054
    a (upgraded !)
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3055
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3056
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mK,AE-change-m")' f
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3057
  A f
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3058
    a (filelog !)
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3059
    a (missing-correct-output sidedata !)
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3060
    a (missing-correct-output upgraded !)
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3061
    b (known-bad-output sidedata !)
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3062
    b (known-bad-output upgraded !)
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3063
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3064
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3065
The result from mEAm is the same for the subsequent merge:
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3066
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3067
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mEA-change-m")' f
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3068
  A f
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3069
    a (filelog !)
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3070
    b (sidedata !)
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3071
    b (upgraded !)
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3072
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3073
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mEA-change,Jm")' f
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3074
  A f
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3075
    a (filelog !)
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3076
    b (sidedata !)
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3077
    b (upgraded !)
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3078
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3079
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mJ,EA-change-m")' f
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3080
  A f
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3081
    a (filelog !)
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3082
    b (missing-correct-output sidedata !)
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3083
    b (missing-correct-output upgraded !)
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3084
    a (known-bad-output sidedata !)
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3085
    a (known-bad-output upgraded !)