tests/test-copies-chain-merge.t
author Joerg Sonnenberger <joerg@bec.de>
Thu, 22 Apr 2021 02:57:30 +0200
branchstable
changeset 47008 77e73827a02d
parent 46884 cc3ad5c3af3b
child 47064 7383df4f6e19
child 47087 4b1bce1aa9bb
permissions -rw-r--r--
tests: don't hard-code /bin/bash From Thomas Klausner in pkgsrc. Differential Revision: https://phab.mercurial-scm.org/D10507
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
46618
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
     1
#testcases filelog compatibility changeset sidedata upgraded upgraded-parallel
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
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
    81
  $ hg ci -Am 'i-0 initial commit: a b h p q 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
    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
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
    99
  o  i-0 initial commit: a b h p q 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
   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
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
   117
  o  i-0 initial commit: a b h p q 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
   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
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
   134
  o  i-0 initial commit: a b h p q 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
   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
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
   151
  o  i-0 initial commit: a b h p q r
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
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
   173
  o  i-0 initial commit: a b h p q r
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
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
   194
  o  i-0 initial commit: a b h p q r
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
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
   216
  o  i-0 initial commit: a b h p q r
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
   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
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
   238
  o  i-0 initial commit: a b h p q r
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
   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
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
   284
  o  i-0 initial commit: a b h p q 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
   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
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
   334
  o  i-0 initial commit: a b h p q r
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
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
   374
  o  i-0 initial commit: a b h p q r
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
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
   422
  o  i-0 initial commit: a b h p q r
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
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
   465
  o  i-0 initial commit: a b h p q r
46559
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
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
   521
  o  i-0 initial commit: a b h p q r
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
46560
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   524
Subcase: existing copy information overwritten on one branch, with different content)
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   525
`````````````````````````````````````````````````````````````````````````````````````
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   526
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   527
Merge:
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   528
- one with change to an unrelated file (b)
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   529
- one overwriting a file (t) with a rename (from r to x to t), v content is not the same as on the other branch
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   530
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   531
  $ case_desc="simple merge - B side: unrelated change, R side: overwrite d with a copy (from r->x->t) different content"
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   532
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   533
  $ hg up 'desc("i-2")'
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   534
  6 files updated, 0 files merged, 0 files removed, 0 files unresolved
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   535
  $ hg mv r x
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   536
  $ hg commit -m "r-1: rename r -> x"
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   537
  created new head
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   538
  $ hg mv --force x t
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   539
  $ hg commit -m "r-2: rename t -> x"
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   540
  $ hg debugindex t | ../no-linkrev
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   541
     rev linkrev nodeid       p1           p2
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   542
       0       * d74efbf65309 000000000000 000000000000 (no-changeset !)
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   543
       1       * 02a930b9d7ad 000000000000 000000000000 (no-changeset !)
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   544
       0       * 5aed6a8dbff0 000000000000 000000000000 (changeset !)
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   545
       1       * a38b2fa17021 000000000000 000000000000 (changeset !)
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   546
  $ hg up 'desc("b-1")'
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   547
  3 files updated, 0 files merged, 0 files removed, 0 files unresolved
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   548
  $ hg merge 'desc("r-2")'
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   549
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   550
  (branch merge, don't forget to commit)
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   551
  $ hg ci -m "mBRm-0 $case_desc - one way"
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   552
  $ hg up 'desc("r-2")'
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   553
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   554
  $ hg merge 'desc("b-1")'
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   555
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   556
  (branch merge, don't forget to commit)
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   557
  $ hg ci -m "mRBm-0 $case_desc - the other way"
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   558
  created new head
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   559
  $ hg up null --quiet
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   560
  $ hg log -G --rev '::(desc("mBRm")+desc("mRBm"))'
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   561
  o    mRBm-0 simple merge - B side: unrelated change, R side: overwrite d with a copy (from r->x->t) different content - the other way
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   562
  |\
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   563
  +---o  mBRm-0 simple merge - B side: unrelated change, R side: overwrite d with a copy (from r->x->t) different content - one way
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   564
  | |/
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   565
  | o  r-2: rename t -> x
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   566
  | |
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   567
  | o  r-1: rename r -> x
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   568
  | |
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   569
  o |  b-1: b update
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   570
  |/
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   571
  o  i-2: c -move-> d, s -move-> t
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   572
  |
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   573
  o  i-1: a -move-> c, p -move-> s
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   574
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
   575
  o  i-0 initial commit: a b h p q r
46560
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   576
  
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   577
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   578
46543
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46542
diff changeset
   579
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
   580
``````````````````````````````````````````````
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46542
diff changeset
   581
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   582
Merge:
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   583
- 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
   584
- 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
   585
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   586
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
   587
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
   588
46537
1e96fdcc8bc1 test-copies: improve description of the D+G case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46536
diff changeset
   589
  $ 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
   590
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   591
  $ 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
   592
  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
   593
  $ 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
   594
  $ 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
   595
  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
   596
  $ 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
   597
  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
   598
  $ 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
   599
  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
   600
  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
   601
  (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
   602
  $ 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
   603
  $ 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
   604
  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
   605
  $ 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
   606
  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
   607
  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
   608
  (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
   609
  $ 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
   610
  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
   611
  $ 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
   612
  @    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
   613
  |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   614
  +---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
   615
  | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   616
  | 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
   617
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   618
  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
   619
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   620
  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
   621
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   622
  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
   623
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   624
  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
   625
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
   626
  o  i-0 initial commit: a b h p q r
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   627
  
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   628
46543
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46542
diff changeset
   629
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
   630
````````````````````````````````````````````````````````````````````````````````````````````
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   631
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   632
Merge:
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   633
- 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
   634
- 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
   635
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   636
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
   637
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
   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
Note:
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   640
| 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
   641
| "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
   642
|
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   643
| 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
   644
46538
2f99dedf96b1 test-copies: improve description of the G+F case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46537
diff changeset
   645
  $ 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
   646
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   647
  $ 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
   648
  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
   649
  $ 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
   650
  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
   651
  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
   652
  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
   653
  (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
   654
  $ 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
   655
  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
   656
  $ 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
   657
  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
   658
  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
   659
  $ 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
   660
  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
   661
  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
   662
  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
   663
  (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
   664
  $ 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
   665
  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
   666
  $ 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
   667
  @    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
   668
  |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   669
  +---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
   670
  | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   671
  | 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
   672
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   673
  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
   674
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   675
  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
   676
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   677
  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
   678
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   679
  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
   680
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
   681
  o  i-0 initial commit: a b h p q r
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
  
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   683
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   684
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   685
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
   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
Merge:
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   689
- 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
   690
- 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
   691
- 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
   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
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
   694
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
   695
46539
a1a06dca6941 test-copies: improve description of the G+C case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46538
diff changeset
   696
  $ 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
   697
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   698
  $ 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
   699
  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
   700
  $ 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
   701
  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
   702
  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
   703
  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
   704
  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
   705
  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
   706
  [1]
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   707
  $ 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
   708
  (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
   709
  $ 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
   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("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
   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
  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
   716
  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
   717
  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
   718
  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
   719
  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
   720
  [1]
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 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
   722
  (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
   723
  $ 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
   724
  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
   725
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   726
  $ 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
   727
  @    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
   728
  |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   729
  +---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
   730
  | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   731
  | 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
   732
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   733
  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
   734
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   735
  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
   736
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   737
  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
   738
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
   739
  o  i-0 initial commit: a b h p q r
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   740
  
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   741
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   742
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   743
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   744
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
   745
--------------------------------------------------------
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   746
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   747
Merge:
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   748
- 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
   749
- 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
   750
- 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
   751
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   752
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
   753
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
   754
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
   755
  $ 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
   756
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   757
  $ 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
   758
  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
   759
  $ 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
   760
  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
   761
  (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
   762
  $ 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
   763
  $ 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
   764
  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
   765
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   766
  $ 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
   767
  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
   768
  $ 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
   769
  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
   770
  (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
   771
  $ 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
   772
  $ 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
   773
  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
   774
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   775
  $ 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
   776
  @    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
   777
  |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   778
  +---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
   779
  | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   780
  | 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
   781
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   782
  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
   783
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   784
  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
   785
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   786
  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
   787
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
   788
  o  i-0 initial commit: a b h p q r
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   789
  
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   790
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   791
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   792
  $ 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
   793
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
   794
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
   795
------------------------------------------------------------------------------------------
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
   796
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
   797
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
   798
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
   799
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
   800
(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
   801
46541
60c52bdb1784 test-copies: improve description of the C+H case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46540
diff changeset
   802
  $ 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
   803
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
   804
  $ 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
   805
  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
   806
  $ 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
   807
  $ 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
   808
  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
   809
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
   810
  $ 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
   811
  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
   812
  $ 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
   813
  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
   814
  (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
   815
  $ 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
   816
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
   817
  $ 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
   818
  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
   819
  $ 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
   820
  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
   821
  (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
   822
  $ 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
   823
  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
   824
  $ 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
   825
  @    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
   826
  |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   827
  +---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
   828
  | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   829
  | 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
   830
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   831
  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
   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
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
   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
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
   836
  |/
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
   837
  o  i-0 initial commit: a b h p q r
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
   838
  
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
   839
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
   840
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
   841
--------------------------------------------------------------
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
   842
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
   843
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
   844
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
   845
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
   846
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
   847
```````````````````````````````````````````````````````````````````````````````````
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
   848
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
   849
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
   850
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
   851
- 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
   852
- 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
   853
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
   854
  $ 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
   855
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
  $ 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
   857
  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
   858
  $ 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
   859
  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
   860
  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
   861
  (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
   862
  $ 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
   863
  $ 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
   864
  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
   865
  $ 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
   866
  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
   867
  $ 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
   868
  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
   869
  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
   870
  (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
   871
  $ 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
   872
  $ 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
   873
  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
   874
  $ 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
   875
  @    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
   876
  |\
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
   877
  +---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
   878
  | |/
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
   879
  | 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
   880
  | |
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
   881
  | 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
   882
  | |
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
   883
  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
   884
  | |
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
   885
  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
   886
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   887
  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
   888
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   889
  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
   890
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
   891
  o  i-0 initial commit: a b h p q r
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
   892
  
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
   893
46782
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   894
Subcase: merge overwrite common copy information, but with extra change during the merge
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   895
````````````````````````````````````````````````````````````````````````````````````````
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   896
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   897
Merge:
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   898
- one with change to an unrelated file (b)
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   899
- one overwriting a file (d) with a rename (from h to i to d)
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   900
- the merge update f content
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   901
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   902
  $ case_desc="merge with extra change - B side: unrelated change, F side: overwrite d with a copy (from h->i->d)"
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   903
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   904
  $ hg up 'desc("f-2")'
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   905
  2 files updated, 0 files merged, 2 files removed, 0 files unresolved
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   906
#if no-changeset
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   907
  $ hg debugindex d | ../no-linkrev
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   908
     rev linkrev nodeid       p1           p2
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   909
       0       * d8252ab2e760 000000000000 000000000000
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   910
       1       * b004912a8510 000000000000 000000000000
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   911
       2       * 7b79e2fe0c89 000000000000 000000000000
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   912
       3       * 17ec97e60577 d8252ab2e760 000000000000
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   913
       4       * 06dabf50734c b004912a8510 17ec97e60577
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   914
       5       * 19c0e3924691 17ec97e60577 b004912a8510
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   915
       6       * 89c873a01d97 7b79e2fe0c89 17ec97e60577
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   916
       7       * d55cb4e9ef57 000000000000 000000000000
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   917
#else
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   918
  $ hg debugindex d | ../no-linkrev
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   919
     rev linkrev nodeid       p1           p2
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   920
       0       * ae258f702dfe 000000000000 000000000000
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   921
       1       * b004912a8510 000000000000 000000000000
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   922
       2       * 5cce88bf349f ae258f702dfe 000000000000
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   923
       3       * cc269dd788c8 b004912a8510 5cce88bf349f
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   924
       4       * 51c91a115080 5cce88bf349f b004912a8510
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   925
#endif
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   926
  $ hg up 'desc("b-1")'
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   927
  3 files updated, 0 files merged, 0 files removed, 0 files unresolved (no-changeset !)
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   928
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved (changeset !)
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   929
  $ hg merge 'desc("f-2")'
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   930
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved (no-changeset !)
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   931
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved (changeset !)
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   932
  (branch merge, don't forget to commit)
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   933
  $ echo "extra-change to (formelly h) during the merge" > d
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   934
  $ hg ci -m "mBF-change-m-0 $case_desc - one way"
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   935
  created new head
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   936
  $ hg manifest --rev . --debug | grep "  d"
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   937
  1c334238bd42ec85c6a0d83fd1b2a898a6a3215d 644   d (no-changeset !)
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   938
  cea2d99c0fde64672ef61953786fdff34f16e230 644   d (changeset !)
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   939
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   940
  $ hg up 'desc("f-2")'
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   941
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   942
  $ hg merge 'desc("b-1")'
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   943
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   944
  (branch merge, don't forget to commit)
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   945
  $ echo "extra-change to (formelly h) during the merge" > d
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   946
  $ hg ci -m "mFB-change-m-0 $case_desc - the other way"
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   947
  created new head
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   948
  $ hg manifest --rev . --debug | grep "  d"
46811
5a0b930cfb3e commit: get info from mergestate whether a file was merged or not
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46782
diff changeset
   949
  1c334238bd42ec85c6a0d83fd1b2a898a6a3215d 644   d (no-changeset !)
46782
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   950
  cea2d99c0fde64672ef61953786fdff34f16e230 644   d (changeset !)
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   951
#if no-changeset
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   952
  $ hg debugindex d | ../no-linkrev
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   953
     rev linkrev nodeid       p1           p2
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   954
       0       * d8252ab2e760 000000000000 000000000000
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   955
       1       * b004912a8510 000000000000 000000000000
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   956
       2       * 7b79e2fe0c89 000000000000 000000000000
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   957
       3       * 17ec97e60577 d8252ab2e760 000000000000
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   958
       4       * 06dabf50734c b004912a8510 17ec97e60577
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   959
       5       * 19c0e3924691 17ec97e60577 b004912a8510
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   960
       6       * 89c873a01d97 7b79e2fe0c89 17ec97e60577
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   961
       7       * d55cb4e9ef57 000000000000 000000000000
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   962
       8       * 1c334238bd42 7b79e2fe0c89 000000000000
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   963
#else
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   964
  $ hg debugindex d | ../no-linkrev
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   965
     rev linkrev nodeid       p1           p2
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   966
       0       * ae258f702dfe 000000000000 000000000000
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   967
       1       * b004912a8510 000000000000 000000000000
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   968
       2       * 5cce88bf349f ae258f702dfe 000000000000
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   969
       3       * cc269dd788c8 b004912a8510 5cce88bf349f
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   970
       4       * 51c91a115080 5cce88bf349f b004912a8510
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   971
       5       * cea2d99c0fde ae258f702dfe 000000000000
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   972
#endif
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   973
  $ hg log -G --rev '::(desc("mBF-change-m")+desc("mFB-change-m"))'
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   974
  @    mFB-change-m-0 merge with extra change - B side: unrelated change, F side: overwrite d with a copy (from h->i->d) - the other way
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   975
  |\
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   976
  +---o  mBF-change-m-0 merge with extra change - B side: unrelated change, F side: overwrite d with a copy (from h->i->d) - one way
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   977
  | |/
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   978
  | o  f-2: rename i -> d
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   979
  | |
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   980
  | o  f-1: rename h -> i
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   981
  | |
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   982
  o |  b-1: b update
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   983
  |/
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   984
  o  i-2: c -move-> d, s -move-> t
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   985
  |
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   986
  o  i-1: a -move-> c, p -move-> s
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   987
  |
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   988
  o  i-0 initial commit: a b h p q r
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   989
  
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   990
46813
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
   991
Subcase: restoring and untouched deleted file, while touching it
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
   992
````````````````````````````````````````````````````````````````
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
   993
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
   994
Merge:
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
   995
- one removing a file (d)
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
   996
- one leaving the file untouched
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
   997
- the merge actively restore the file to the same content.
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
   998
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
   999
In this case, the file keep on living after the merge. So we should not drop its
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  1000
copy tracing chain.
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  1001
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  1002
  $ case_desc="merge explicitely revive deleted file - B side: unrelated change, C side: delete d (restored by merge)"
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  1003
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  1004
  $ hg up 'desc("c-1")'
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  1005
  2 files updated, 0 files merged, 1 files removed, 0 files unresolved
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  1006
  $ hg merge 'desc("b-1")'
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  1007
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  1008
  (branch merge, don't forget to commit)
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  1009
  $ hg revert --rev 'desc("b-1")' d
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  1010
  $ echo "new content for d after the revert" > d
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  1011
  $ hg ci -m "mCB-change-m-0 $case_desc - one way"
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  1012
  created new head
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  1013
  $ hg manifest --rev . --debug | grep "  d"
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  1014
  e333780c17752a3b0dd15e3ad48aa4e5c745f621 644   d (no-changeset !)
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  1015
  4b540a18ad699234b2b2aa18cb69555ac9c4b1df 644   d (changeset !)
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  1016
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  1017
  $ hg up 'desc("b-1")'
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  1018
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  1019
  $ hg merge 'desc("c-1")'
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  1020
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  1021
  (branch merge, don't forget to commit)
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  1022
  $ hg revert --rev 'desc("b-1")' d
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  1023
  $ echo "new content for d after the revert" > d
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  1024
  $ hg ci -m "mBC-change-m-0 $case_desc - the other way"
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  1025
  created new head
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  1026
  $ hg manifest --rev . --debug | grep "  d"
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  1027
  e333780c17752a3b0dd15e3ad48aa4e5c745f621 644   d (no-changeset !)
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  1028
  4b540a18ad699234b2b2aa18cb69555ac9c4b1df 644   d (changeset !)
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  1029
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  1030
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  1031
  $ hg up null --quiet
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  1032
  $ hg log -G --rev '::(desc("mCB-change-m")+desc("mBC-change-m"))'
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  1033
  o    mBC-change-m-0 merge explicitely revive deleted file - B side: unrelated change, C side: delete d (restored by merge) - the other way
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  1034
  |\
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  1035
  +---o  mCB-change-m-0 merge explicitely revive deleted file - B side: unrelated change, C side: delete d (restored by merge) - one way
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  1036
  | |/
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  1037
  | o  c-1 delete d
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  1038
  | |
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  1039
  o |  b-1: b update
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  1040
  |/
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  1041
  o  i-2: c -move-> d, s -move-> t
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  1042
  |
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  1043
  o  i-1: a -move-> c, p -move-> s
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  1044
  |
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  1045
  o  i-0 initial commit: a b h p q r
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  1046
  
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  1047
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1048
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
  1049
------------------------------------------------------------------
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1050
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1051
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
  1052
```````````````````````````````````````````````
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1053
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1054
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
  1055
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
  1056
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
  1057
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
  1058
46812
e4696ba43ecd test-copies: show some wrong ChangedFiles upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46811
diff changeset
  1059
We also touch J during some of the merge to check for unrelated change to new file during merge.
e4696ba43ecd test-copies: show some wrong ChangedFiles upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46811
diff changeset
  1060
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1061
  $ 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
  1062
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1063
(extra unrelated changes)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1064
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1065
  $ hg up 'desc("a-2")'
46813
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  1066
  6 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
  1067
  $ echo j > unrelated-j
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1068
  $ hg add unrelated-j
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1069
  $ 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
  1070
  created new head
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1071
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1072
  $ 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
  1073
  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
  1074
  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
  1075
  $ echo k > unrelated-k
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1076
  $ hg add unrelated-k
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1077
  $ 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
  1078
  created new head
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1079
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1080
(merge variant 1)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1081
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1082
  $ hg up 'desc("mAEm")'
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1083
  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
  1084
  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
  1085
  $ 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
  1086
  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
  1087
  (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
  1088
  $ 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
  1089
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1090
(merge variant 2)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1091
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1092
  $ 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
  1093
  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
  1094
  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
  1095
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1096
  $ hg merge 'desc("mAEm")'
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1097
  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
  1098
  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
  1099
  (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
  1100
  $ 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
  1101
  created new head
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1102
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1103
(merge variant 3)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1104
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1105
  $ hg up 'desc("mEAm")'
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1106
  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
  1107
  $ 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
  1108
  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
  1109
  (branch merge, don't forget to commit)
46812
e4696ba43ecd test-copies: show some wrong ChangedFiles upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46811
diff changeset
  1110
  $ echo jj > unrelated-j
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1111
  $ 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
  1112
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1113
(merge variant 4)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1114
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1115
  $ hg up 'desc("j-1")'
46812
e4696ba43ecd test-copies: show some wrong ChangedFiles upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46811
diff changeset
  1116
  3 files updated, 0 files merged, 0 files removed, 0 files unresolved (no-changeset !)
e4696ba43ecd test-copies: show some wrong ChangedFiles upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46811
diff changeset
  1117
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved (changeset !)
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1118
  $ hg merge 'desc("mEAm")'
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1119
  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
  1120
  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
  1121
  (branch merge, don't forget to commit)
46812
e4696ba43ecd test-copies: show some wrong ChangedFiles upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46811
diff changeset
  1122
  $ echo jj > unrelated-j
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1123
  $ 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
  1124
  created new head
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1125
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1126
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1127
  $ 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
  1128
  @    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
  1129
  |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1130
  +---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
  1131
  | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1132
  | | 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
  1133
  | | |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1134
  | | +---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
  1135
  | | | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1136
  | | | 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
  1137
  | | | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1138
  | 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
  1139
  | | | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1140
  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
  1141
  |/ / /
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1142
  | 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
  1143
  |/|/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1144
  | 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
  1145
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1146
  | 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
  1147
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1148
  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
  1149
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1150
  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
  1151
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  1152
  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
  1153
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  1154
  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
  1155
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
  1156
  o  i-0 initial commit: a b h p q r
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1157
  
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1158
46561
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1159
Subcase: chaining conflicting rename resolution, with actual merging happening
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1160
``````````````````````````````````````````````````````````````````````````````
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1161
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1162
The "mPQm" and "mQPm" case create a rename tracking conflict on file 't'. We
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1163
add more change on the respective branch and merge again. These second merge
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1164
does not involve the file 't' and the arbitration done within "mPQm" and "mQP"
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1165
about that file should stay unchanged.
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1166
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1167
  $ case_desc="chained merges (conflict -> simple) - different content"
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1168
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1169
(extra unrelated changes)
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1170
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1171
  $ hg up 'desc("p-2")'
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1172
  3 files updated, 0 files merged, 3 files removed, 0 files unresolved
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1173
  $ echo s > unrelated-s
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1174
  $ hg add unrelated-s
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1175
  $ hg ci -m 's-1: unrelated changes (based on the "p" series of changes)'
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1176
  created new head
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1177
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1178
  $ hg up 'desc("q-2")'
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1179
  2 files updated, 0 files merged, 2 files removed, 0 files unresolved
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1180
  $ echo t > unrelated-t
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1181
  $ hg add unrelated-t
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1182
  $ hg ci -m 't-1: unrelated changes (based on "q" changes)'
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1183
  created new head
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1184
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1185
(merge variant 1)
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1186
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1187
  $ hg up 'desc("mPQm")'
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1188
  1 files updated, 0 files merged, 2 files removed, 0 files unresolved
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1189
  $ hg merge 'desc("t-1")'
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1190
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1191
  (branch merge, don't forget to commit)
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1192
  $ hg ci -m "mPQ,Tm: $case_desc"
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1193
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1194
(merge variant 2)
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1195
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1196
  $ hg up 'desc("t-1")'
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1197
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1198
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1199
  $ hg merge 'desc("mPQm")'
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1200
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1201
  (branch merge, don't forget to commit)
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1202
  $ hg ci -m "mT,PQm: $case_desc"
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1203
  created new head
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1204
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1205
(merge variant 3)
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1206
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1207
  $ hg up 'desc("mQPm")'
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1208
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1209
  $ hg merge 'desc("s-1")'
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1210
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1211
  (branch merge, don't forget to commit)
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1212
  $ hg ci -m "mQP,Sm: $case_desc"
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1213
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1214
(merge variant 4)
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1215
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1216
  $ hg up 'desc("s-1")'
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1217
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1218
  $ hg merge 'desc("mQPm")'
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1219
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1220
  (branch merge, don't forget to commit)
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1221
  $ hg ci -m "mS,QPm: $case_desc"
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1222
  created new head
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1223
  $ hg up null --quiet
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1224
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1225
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1226
  $ hg log -G --rev '::(desc("mPQ,Tm") + desc("mT,PQm") + desc("mQP,Sm") + desc("mS,QPm"))'
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1227
  o    mS,QPm: chained merges (conflict -> simple) - different content
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1228
  |\
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1229
  +---o  mQP,Sm: chained merges (conflict -> simple) - different content
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1230
  | |/
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1231
  | | o    mT,PQm: chained merges (conflict -> simple) - different content
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1232
  | | |\
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1233
  | | +---o  mPQ,Tm: chained merges (conflict -> simple) - different content
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1234
  | | | |/
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1235
  | | | o  t-1: unrelated changes (based on "q" changes)
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1236
  | | | |
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1237
  | o | |  s-1: unrelated changes (based on the "p" series of changes)
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1238
  | | | |
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1239
  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
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1240
  |/ / /
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1241
  | 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
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1242
  |/|/
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1243
  | o  q-2 w -move-> v
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1244
  | |
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1245
  | o  q-1 r -move-> w
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1246
  | |
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1247
  o |  p-2: u -move-> v
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1248
  | |
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1249
  o |  p-1: t -move-> u
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1250
  |/
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1251
  o  i-2: c -move-> d, s -move-> t
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1252
  |
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1253
  o  i-1: a -move-> c, p -move-> s
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1254
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
  1255
  o  i-0 initial commit: a b h p q r
46561
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1256
  
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1257
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1258
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
  1259
````````````````````````````````````````````````````
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1260
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1261
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
  1262
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
  1263
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1264
  $ 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
  1265
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1266
(creating the change)
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1267
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1268
  $ hg up 'desc("c-1")'
46561
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1269
  5 files updated, 0 files merged, 0 files removed, 0 files unresolved
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1270
  $ echo l > unrelated-l
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1271
  $ hg add unrelated-l
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1272
  $ 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
  1273
  created new head
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1274
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1275
(Merge variant 1)
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1276
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1277
  $ 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
  1278
  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
  1279
  $ 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
  1280
  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
  1281
  (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
  1282
  $ 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
  1283
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1284
(Merge variant 2)
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1285
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1286
  $ 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
  1287
  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
  1288
  $ 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
  1289
  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
  1290
  (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
  1291
  $ 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
  1292
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1293
(Merge variant 3)
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1294
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1295
  $ 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
  1296
  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
  1297
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1298
  $ 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
  1299
  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
  1300
  (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
  1301
  $ 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
  1302
  created new head
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1303
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1304
(Merge variant 4)
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1305
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1306
  $ 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
  1307
  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
  1308
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1309
  $ 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
  1310
  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
  1311
  (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
  1312
  $ 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
  1313
  created new head
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1314
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1315
  $ 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
  1316
  @    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
  1317
  |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1318
  | | 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
  1319
  | |/|
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1320
  +-+---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
  1321
  | | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1322
  | +---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
  1323
  | | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1324
  | 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
  1325
  | | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1326
  | | 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
  1327
  | |/|
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1328
  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
  1329
  |/ /
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1330
  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
  1331
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1332
  | 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
  1333
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  1334
  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
  1335
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  1336
  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
  1337
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
  1338
  o  i-0 initial commit: a b h p q r
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1339
  
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1340
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1341
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1342
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
  1343
``````````````````````````````````````````````````````
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1344
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1345
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
  1346
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1347
  $ 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
  1348
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1349
(extra unrelated changes)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1350
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1351
  $ 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
  1352
  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
  1353
  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
  1354
  $ echo n > unrelated-n
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1355
  $ hg add unrelated-n
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1356
  $ 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
  1357
  created new head
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1358
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1359
  $ 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
  1360
  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
  1361
  $ echo o > unrelated-o
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1362
  $ hg add unrelated-o
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1363
  $ 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
  1364
  created new head
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1365
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1366
(merge variant 1)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1367
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1368
  $ hg up 'desc("mFGm")'
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1369
  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
  1370
  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
  1371
  $ 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
  1372
  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
  1373
  (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
  1374
  $ 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
  1375
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1376
(merge variant 2)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1377
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1378
  $ 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
  1379
  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
  1380
  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
  1381
  $ hg merge 'desc("FGm")'
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1382
  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
  1383
  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
  1384
  (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
  1385
  $ 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
  1386
  created new head
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1387
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1388
(merge variant 3)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1389
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1390
  $ hg up 'desc("mGFm")'
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1391
  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
  1392
  $ 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
  1393
  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
  1394
  (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
  1395
  $ 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
  1396
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1397
(merge variant 4)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1398
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1399
  $ 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
  1400
  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
  1401
  $ hg merge 'desc("mGFm")'
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1402
  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
  1403
  (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
  1404
  $ 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
  1405
  created new head
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1406
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1407
  $ 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
  1408
  @    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
  1409
  |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1410
  +---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
  1411
  | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1412
  | | 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
  1413
  | | |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1414
  | | +---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
  1415
  | | | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1416
  | | | 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
  1417
  | | | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1418
  | 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
  1419
  | | | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1420
  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
  1421
  |/ / /
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1422
  | 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
  1423
  |/|/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1424
  | 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
  1425
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1426
  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
  1427
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1428
  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
  1429
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  1430
  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
  1431
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  1432
  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
  1433
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
  1434
  o  i-0 initial commit: a b h p q r
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1435
  
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
  1436
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
  1437
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
  1438
```````````````````````````````````````````````````````````````````````````````````
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
  1439
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
  1440
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
  1441
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
  1442
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
  1443
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
  1444
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
  1445
  $ 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
  1446
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
  1447
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
  1448
(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
  1449
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
  1450
  $ 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
  1451
  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
  1452
  $ 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
  1453
  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
  1454
  (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
  1455
  $ 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
  1456
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
  1457
(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
  1458
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
  1459
  $ 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
  1460
  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
  1461
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
  1462
  $ 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
  1463
  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
  1464
  (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
  1465
  $ 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
  1466
  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
  1467
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
  1468
(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
  1469
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
  1470
  $ 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
  1471
  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
  1472
  $ 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
  1473
  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
  1474
  (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
  1475
  $ 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
  1476
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
  1477
(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
  1478
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
  1479
  $ 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
  1480
  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
  1481
  $ 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
  1482
  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
  1483
  (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
  1484
  $ 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
  1485
  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
  1486
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
  1487
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
  1488
  $ 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
  1489
  @    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
  1490
  |\
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
  1491
  +---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
  1492
  | |/
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
  1493
  | | 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
  1494
  | | |\
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
  1495
  | | +---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
  1496
  | | | |/
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
  1497
  | | | 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
  1498
  | | | |
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
  1499
  | 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
  1500
  | | | |
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
  1501
  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
  1502
  |/ / /
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
  1503
  | 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
  1504
  |/|/
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
  1505
  | 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
  1506
  | |
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
  1507
  | 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
  1508
  | |
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
  1509
  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
  1510
  | |
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
  1511
  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
  1512
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  1513
  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
  1514
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  1515
  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
  1516
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
  1517
  o  i-0 initial commit: a b h p q r
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
  1518
  
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
  1519
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
  1520
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
  1521
----------------------------
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
  1522
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
  1523
  $ 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
  1524
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
  1525
(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
  1526
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
  1527
  $ 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
  1528
  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
  1529
  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
  1530
  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
  1531
  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
  1532
  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
  1533
  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
  1534
  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
  1535
  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
  1536
  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
  1537
  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
  1538
  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
  1539
  h-1: b -(move)-> d
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
  1540
  i-0 initial commit: a b h p q r
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  1541
  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
  1542
  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
  1543
  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
  1544
  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
  1545
  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
  1546
  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
  1547
  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
  1548
  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
  1549
  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
  1550
  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
  1551
  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
  1552
  mBC+revert,Lm: chained merges (salvaged -> simple) - same content (when the file exists)
46813
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  1553
  mBC-change-m-0 merge explicitely revive deleted file - B side: unrelated change, C side: delete d (restored by merge) - the other way
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
  1554
  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
  1555
  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
  1556
  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
  1557
  mBDm-0 simple merge - B side: unrelated update, D side: delete and recreate a file (with different content) - one way
46782
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  1558
  mBF-change-m-0 merge with extra change - B side: unrelated change, F side: overwrite d with a copy (from h->i->d) - 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
  1559
  mBFm-0 simple merge - B side: unrelated change, F side: overwrite d with a copy (from h->i->d) - one way
46560
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  1560
  mBRm-0 simple merge - B side: unrelated change, R side: overwrite d with a copy (from r->x->t) different content - one way
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1561
  mCB+revert,Lm: chained merges (salvaged -> simple) - same content (when the file exists)
46813
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  1562
  mCB-change-m-0 merge explicitely revive deleted file - B side: unrelated change, C side: delete d (restored by merge) - one way
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
  1563
  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
  1564
  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
  1565
  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
  1566
  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
  1567
  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
  1568
  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
  1569
  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
  1570
  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
  1571
  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
  1572
  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
  1573
  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
46782
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  1574
  mFB-change-m-0 merge with extra change - B side: unrelated change, F side: overwrite d with a copy (from h->i->d) - 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
  1575
  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
  1576
  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
  1577
  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
  1578
  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
  1579
  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
  1580
  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
  1581
  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
  1582
  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
  1583
  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
  1584
  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
  1585
  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
  1586
  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
  1587
  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
  1588
  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
  1589
  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
  1590
  mO,FGm: chained merges (copy-overwrite -> simple) - same content
46561
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1591
  mPQ,Tm: chained merges (conflict -> simple) - different 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
  1592
  mPQm-0 merge with copies info on both side - P side: rename t to v, Q side: r to v, (different content) - one way
46561
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1593
  mQP,Sm: chained merges (conflict -> simple) - different 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
  1594
  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
46560
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  1595
  mRBm-0 simple merge - B side: unrelated change, R side: overwrite d with a copy (from r->x->t) different content - the other way
46561
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1596
  mS,QPm: chained merges (conflict -> simple) - different content
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1597
  mT,PQm: chained merges (conflict -> simple) - different content
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1598
  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
  1599
  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
  1600
  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
  1601
  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
  1602
  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
  1603
  q-2 w -move-> v
46560
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  1604
  r-1: rename r -> x
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  1605
  r-2: rename t -> x
46561
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1606
  s-1: unrelated changes (based on the "p" series of changes)
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1607
  t-1: unrelated changes (based on "q" changes)
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
  1608
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
  1609
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
  1610
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
  1611
===========================================================
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
  1612
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
  1613
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
  1614
 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
  1615
 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
  1616
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
  1617
45735
edf4fa06df94 upgrade: allow sidedata upgrade to modify revision flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45733
diff changeset
  1618
#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
  1619
  $ 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
  1620
  > [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
  1621
  > 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
  1622
  > 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
  1623
  > 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
  1624
  $ 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
  1625
  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
  1626
  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
  1627
  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
  1628
  generaldelta:       yes    yes     yes
46334
4b0192f592cf share: move share safe functionality out of experimental
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46186
diff changeset
  1629
  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
  1630
  sparserevlog:       yes    yes     yes
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46815
diff changeset
  1631
  persistent-nodemap:  no     no      no (no-rust !)
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46815
diff changeset
  1632
  persistent-nodemap: yes    yes      no (rust !)
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
  1633
  copies-sdc:          no    yes      no
46705
fd55a9eb1507 revlogv2: allow upgrading to v2
Raphaël Gomès <rgomes@octobus.net>
parents: 46618
diff changeset
  1634
  revlog-v2:           no    yes      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
  1635
  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
  1636
  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
  1637
  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
  1638
  $ 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
  1639
  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
  1640
  
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
  1641
  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
  1642
     preserved: * (glob)
46705
fd55a9eb1507 revlogv2: allow upgrading to v2
Raphaël Gomès <rgomes@octobus.net>
parents: 46618
diff changeset
  1643
     removed: revlogv1
fd55a9eb1507 revlogv2: allow upgrading to v2
Raphaël Gomès <rgomes@octobus.net>
parents: 46618
diff changeset
  1644
     added: exp-copies-sidedata-changeset, exp-revlogv2.2, exp-sidedata-flag
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
  1645
  
46035
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
  1646
  processed revlogs:
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
  1647
    - all-filelogs
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
  1648
    - changelog
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
  1649
    - manifest
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
  1650
  
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
  1651
#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
  1652
46618
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  1653
#if upgraded-parallel
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  1654
  $ cat >> $HGRCPATH << EOF
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  1655
  > [format]
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  1656
  > exp-use-side-data = yes
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  1657
  > exp-use-copies-side-data-changeset = yes
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  1658
  > [experimental]
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  1659
  > worker.repository-upgrade=yes
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  1660
  > [worker]
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  1661
  > enabled=yes
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  1662
  > numcpus=8
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  1663
  > EOF
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  1664
  $ hg debugformat -v
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  1665
  format-variant     repo config default
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  1666
  fncache:            yes    yes     yes
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  1667
  dotencode:          yes    yes     yes
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  1668
  generaldelta:       yes    yes     yes
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  1669
  share-safe:          no     no      no
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  1670
  sparserevlog:       yes    yes     yes
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46815
diff changeset
  1671
  persistent-nodemap:  no     no      no (no-rust !)
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46815
diff changeset
  1672
  persistent-nodemap: yes    yes      no (rust !)
46618
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  1673
  copies-sdc:          no    yes      no
46705
fd55a9eb1507 revlogv2: allow upgrading to v2
Raphaël Gomès <rgomes@octobus.net>
parents: 46618
diff changeset
  1674
  revlog-v2:           no    yes      no
46618
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  1675
  plain-cl-delta:     yes    yes     yes
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  1676
  compression:        * (glob)
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  1677
  compression-level:  default default default
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  1678
  $ hg debugupgraderepo --run --quiet
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  1679
  upgrade will perform the following actions:
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  1680
  
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  1681
  requirements
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  1682
     preserved: * (glob)
46705
fd55a9eb1507 revlogv2: allow upgrading to v2
Raphaël Gomès <rgomes@octobus.net>
parents: 46618
diff changeset
  1683
     removed: revlogv1
fd55a9eb1507 revlogv2: allow upgrading to v2
Raphaël Gomès <rgomes@octobus.net>
parents: 46618
diff changeset
  1684
     added: exp-copies-sidedata-changeset, exp-revlogv2.2, exp-sidedata-flag
46618
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  1685
  
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  1686
  processed revlogs:
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  1687
    - all-filelogs
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  1688
    - changelog
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  1689
    - manifest
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  1690
  
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  1691
#endif
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  1692
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
  1693
45735
edf4fa06df94 upgrade: allow sidedata upgrade to modify revision flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45733
diff changeset
  1694
#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
  1695
46479
c2435280ca63 copy-tracing: add a --compute flag to debugchangedfiles
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46334
diff changeset
  1696
  $ 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
  1697
  added      : a, ;
c2435280ca63 copy-tracing: add a --compute flag to debugchangedfiles
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46334
diff changeset
  1698
  added      : b, ;
c2435280ca63 copy-tracing: add a --compute flag to debugchangedfiles
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46334
diff changeset
  1699
  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
  1700
  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
  1701
  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
  1702
  added      : r, ;
46479
c2435280ca63 copy-tracing: add a --compute flag to debugchangedfiles
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46334
diff changeset
  1703
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
  1704
  $ 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
  1705
  >     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
  1706
  >     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
  1707
  >     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
  1708
  >     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
  1709
  > 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
  1710
  ##### 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
  1711
  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
  1712
   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
  1713
    '\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
  1714
  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
  1715
  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
  1716
  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
  1717
  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
  1718
  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
  1719
  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
  1720
  ##### 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
  1721
  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
  1722
   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
  1723
    '\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
  1724
  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
  1725
  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
  1726
  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
  1727
  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
  1728
  ##### 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
  1729
  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
  1730
   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
  1731
    '\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
  1732
  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
  1733
  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
  1734
  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
  1735
  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
  1736
  ##### 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
  1737
  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
  1738
   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
  1739
    '\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
  1740
  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
  1741
  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
  1742
  ##### 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
  1743
  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
  1744
   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
  1745
    '\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
  1746
  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
  1747
  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
  1748
  ##### 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
  1749
  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
  1750
   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
  1751
    '\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
  1752
  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
  1753
  ##### 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
  1754
  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
  1755
   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
  1756
    '\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
  1757
  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
  1758
  ##### 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
  1759
  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
  1760
   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
  1761
    '\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
  1762
  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
  1763
  ##### 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
  1764
  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
  1765
   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
  1766
    '\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
  1767
  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
  1768
  ##### 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
  1769
  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
  1770
   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
  1771
    '\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
  1772
  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
  1773
  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
  1774
  ##### 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
  1775
  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
  1776
   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
  1777
    '\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
  1778
  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
  1779
  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
  1780
  ##### 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
  1781
  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
  1782
   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
  1783
    '\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
  1784
  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
  1785
  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
  1786
  ##### 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
  1787
  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
  1788
   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
  1789
    '\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
  1790
  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
  1791
  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
  1792
  ##### 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
  1793
  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
  1794
   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
  1795
    '\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
  1796
  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
  1797
  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
  1798
  ##### 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
  1799
  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
  1800
   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
  1801
    '\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
  1802
  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
  1803
  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
  1804
  ##### 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
  1805
  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
  1806
   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
  1807
    '\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
  1808
  ##### 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
  1809
  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
  1810
   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
  1811
    '\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
  1812
  ##### 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
  1813
  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
  1814
   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
  1815
    '\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
  1816
  ##### 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
  1817
  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
  1818
   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
  1819
    '\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
  1820
  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
  1821
  ##### 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
  1822
  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
  1823
   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
  1824
    '\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
  1825
  ##### 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
  1826
  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
  1827
   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
  1828
    '\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
  1829
  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
  1830
  ##### 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
  1831
  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
  1832
   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
  1833
    '\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
  1834
  ##### 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
  1835
  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
  1836
   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
  1837
    '\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
  1838
  ##### 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
  1839
  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
  1840
   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
  1841
    '\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
  1842
  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
  1843
  ##### 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
  1844
  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
  1845
   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
  1846
    '\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
  1847
  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
  1848
  ##### 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
  1849
  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
  1850
   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
  1851
    '\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
  1852
  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
  1853
  ##### 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
  1854
  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
  1855
   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
  1856
    '\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
  1857
  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
  1858
  ##### 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
  1859
  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
  1860
   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
  1861
    '\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
  1862
  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
  1863
  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
  1864
  ##### 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
  1865
  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
  1866
   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
  1867
    '\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
  1868
  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
  1869
  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
  1870
  ##### 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
  1871
  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
  1872
   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
  1873
    '\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
  1874
  ##### 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
  1875
  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
  1876
   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
  1877
    '\x00\x00\x00\x00'
46560
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  1878
  ##### revision "r-1" #####
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  1879
  1 sidedata entries
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  1880
   entry-0014 size 24
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  1881
    '\x00\x00\x00\x02\x0c\x00\x00\x00\x01\x00\x00\x00\x00\x06\x00\x00\x00\x02\x00\x00\x00\x00rx'
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  1882
  removed    : r, ;
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  1883
  added    p1: x, r;
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  1884
  ##### revision "r-2" #####
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  1885
  1 sidedata entries
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  1886
   entry-0014 size 24
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  1887
    '\x00\x00\x00\x02\x16\x00\x00\x00\x01\x00\x00\x00\x01\x0c\x00\x00\x00\x02\x00\x00\x00\x00tx'
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  1888
  touched  p1: t, x;
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  1889
  removed    : x, ;
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  1890
  ##### revision "mBRm-0 simple merge - B side" #####
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  1891
  1 sidedata entries
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  1892
   entry-0014 size 4
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  1893
    '\x00\x00\x00\x00'
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  1894
  ##### revision "mRBm-0 simple merge - B side" #####
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  1895
  1 sidedata entries
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  1896
   entry-0014 size 4
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  1897
    '\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
  1898
  ##### 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
  1899
  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
  1900
   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
  1901
    '\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
  1902
  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
  1903
  ##### 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
  1904
  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
  1905
   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
  1906
    '\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
  1907
  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
  1908
  ##### 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
  1909
  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
  1910
   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
  1911
    '\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
  1912
  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
  1913
  ##### 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
  1914
  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
  1915
   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
  1916
    '\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
  1917
  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
  1918
  ##### 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
  1919
  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
  1920
   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
  1921
    '\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
  1922
  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
  1923
  ##### 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
  1924
  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
  1925
   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
  1926
    '\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
  1927
  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
  1928
  ##### 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
  1929
  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
  1930
   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
  1931
    '\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
  1932
  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
  1933
  ##### 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
  1934
  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
  1935
   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
  1936
    '\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
  1937
  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
  1938
  ##### 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
  1939
  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
  1940
   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
  1941
    '\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
  1942
  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
  1943
  ##### 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
  1944
  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
  1945
   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
  1946
    '\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
  1947
  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
  1948
  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
  1949
  ##### 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
  1950
  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
  1951
   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
  1952
    '\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
  1953
  ##### 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
  1954
  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
  1955
   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
  1956
    '\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
  1957
  ##### 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
  1958
  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
  1959
   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
  1960
    '\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
  1961
  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
  1962
  ##### 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
  1963
  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
  1964
   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
  1965
    '\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
  1966
  merged     : f, ;
46782
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  1967
  ##### revision "mBF-change-m-0 merge with extra change - B side" #####
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  1968
  1 sidedata entries
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  1969
   entry-0014 size 14
46815
433cef8f3104 copies: distinguish between merged and touched files during upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46814
diff changeset
  1970
    '\x00\x00\x00\x01\x14\x00\x00\x00\x01\x00\x00\x00\x00d'
433cef8f3104 copies: distinguish between merged and touched files during upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46814
diff changeset
  1971
  touched    : d, ;
46782
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  1972
  ##### revision "mFB-change-m-0 merge with extra change - B side" #####
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  1973
  1 sidedata entries
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  1974
   entry-0014 size 14
46815
433cef8f3104 copies: distinguish between merged and touched files during upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46814
diff changeset
  1975
    '\x00\x00\x00\x01\x14\x00\x00\x00\x01\x00\x00\x00\x00d'
433cef8f3104 copies: distinguish between merged and touched files during upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46814
diff changeset
  1976
  touched    : d, ;
46813
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  1977
  ##### revision "mCB-change-m-0 merge explicitely revive deleted file - B side" #####
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  1978
  1 sidedata entries
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  1979
   entry-0014 size 14
46814
c52c3c4cbd3f copies: detect files as `touched/salvaged` if they only existed on one side
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46813
diff changeset
  1980
    '\x00\x00\x00\x01\x10\x00\x00\x00\x01\x00\x00\x00\x00d'
c52c3c4cbd3f copies: detect files as `touched/salvaged` if they only existed on one side
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46813
diff changeset
  1981
  salvaged   : d, ;
46813
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  1982
  ##### revision "mBC-change-m-0 merge explicitely revive deleted file - B side" #####
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  1983
  1 sidedata entries
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  1984
   entry-0014 size 14
46814
c52c3c4cbd3f copies: detect files as `touched/salvaged` if they only existed on one side
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46813
diff changeset
  1985
    '\x00\x00\x00\x01\x10\x00\x00\x00\x01\x00\x00\x00\x00d'
c52c3c4cbd3f copies: detect files as `touched/salvaged` if they only existed on one side
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46813
diff changeset
  1986
  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
  1987
  ##### revision "j-1" #####
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1988
  1 sidedata entries
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1989
   entry-0014 size 24
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1990
    '\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
  1991
  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
  1992
  ##### revision "k-1" #####
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1993
  1 sidedata entries
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1994
   entry-0014 size 24
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1995
    '\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
  1996
  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
  1997
  ##### revision "mAE,Km" #####
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1998
  1 sidedata entries
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1999
   entry-0014 size 4
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2000
    '\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
  2001
  ##### revision "mK,AEm" #####
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2002
  1 sidedata entries
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2003
   entry-0014 size 4
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2004
    '\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
  2005
  ##### revision "mEA,Jm" #####
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2006
  1 sidedata entries
46812
e4696ba43ecd test-copies: show some wrong ChangedFiles upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46811
diff changeset
  2007
   entry-0014 size 24
46814
c52c3c4cbd3f copies: detect files as `touched/salvaged` if they only existed on one side
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46813
diff changeset
  2008
    '\x00\x00\x00\x01\x14\x00\x00\x00\x0b\x00\x00\x00\x00unrelated-j'
c52c3c4cbd3f copies: detect files as `touched/salvaged` if they only existed on one side
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46813
diff changeset
  2009
  touched    : 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
  2010
  ##### revision "mJ,EAm" #####
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2011
  1 sidedata entries
46812
e4696ba43ecd test-copies: show some wrong ChangedFiles upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46811
diff changeset
  2012
   entry-0014 size 24
46814
c52c3c4cbd3f copies: detect files as `touched/salvaged` if they only existed on one side
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46813
diff changeset
  2013
    '\x00\x00\x00\x01\x14\x00\x00\x00\x0b\x00\x00\x00\x00unrelated-j'
c52c3c4cbd3f copies: detect files as `touched/salvaged` if they only existed on one side
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46813
diff changeset
  2014
  touched    : unrelated-j, ;
46561
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  2015
  ##### revision "s-1" #####
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  2016
  1 sidedata entries
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  2017
   entry-0014 size 24
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  2018
    '\x00\x00\x00\x01\x04\x00\x00\x00\x0b\x00\x00\x00\x00unrelated-s'
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  2019
  added      : unrelated-s, ;
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  2020
  ##### revision "t-1" #####
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  2021
  1 sidedata entries
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  2022
   entry-0014 size 24
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  2023
    '\x00\x00\x00\x01\x04\x00\x00\x00\x0b\x00\x00\x00\x00unrelated-t'
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  2024
  added      : unrelated-t, ;
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  2025
  ##### revision "mPQ,Tm" #####
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  2026
  1 sidedata entries
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  2027
   entry-0014 size 4
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  2028
    '\x00\x00\x00\x00'
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  2029
  ##### revision "mT,PQm" #####
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  2030
  1 sidedata entries
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  2031
   entry-0014 size 4
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  2032
    '\x00\x00\x00\x00'
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  2033
  ##### revision "mQP,Sm" #####
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  2034
  1 sidedata entries
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  2035
   entry-0014 size 4
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  2036
    '\x00\x00\x00\x00'
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  2037
  ##### revision "mS,QPm" #####
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  2038
  1 sidedata entries
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  2039
   entry-0014 size 4
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  2040
    '\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
  2041
  ##### revision "l-1" #####
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2042
  1 sidedata entries
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2043
   entry-0014 size 24
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2044
    '\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
  2045
  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
  2046
  ##### 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
  2047
  1 sidedata entries
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2048
   entry-0014 size 4
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2049
    '\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
  2050
  ##### 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
  2051
  1 sidedata entries
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2052
   entry-0014 size 4
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2053
    '\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
  2054
  ##### 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
  2055
  1 sidedata entries
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2056
   entry-0014 size 4
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2057
    '\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
  2058
  ##### 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
  2059
  1 sidedata entries
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2060
   entry-0014 size 4
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2061
    '\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
  2062
  ##### revision "n-1" #####
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  2063
  1 sidedata entries
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  2064
   entry-0014 size 24
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  2065
    '\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
  2066
  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
  2067
  ##### revision "o-1" #####
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  2068
  1 sidedata entries
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  2069
   entry-0014 size 24
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  2070
    '\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
  2071
  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
  2072
  ##### revision "mFG,Om" #####
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  2073
  1 sidedata entries
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  2074
   entry-0014 size 4
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  2075
    '\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
  2076
  ##### revision "mO,FGm" #####
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  2077
  1 sidedata entries
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  2078
   entry-0014 size 4
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  2079
    '\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
  2080
  ##### revision "mGF,Nm" #####
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  2081
  1 sidedata entries
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  2082
   entry-0014 size 4
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  2083
    '\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
  2084
  ##### revision "mN,GFm" #####
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  2085
  1 sidedata entries
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  2086
   entry-0014 size 4
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  2087
    '\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
  2088
  ##### 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
  2089
  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
  2090
   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
  2091
    '\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
  2092
  ##### 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
  2093
  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
  2094
   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
  2095
    '\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
  2096
  ##### 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
  2097
  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
  2098
   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
  2099
    '\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
  2100
  ##### 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
  2101
  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
  2102
   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
  2103
    '\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
  2104
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
  2105
#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
  2106
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
  2107
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
  2108
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
  2109
==============================
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
  2110
46159
929054848d6c copies: properly match result during changeset centric copy tracing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46035
diff changeset
  2111
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
  2112
-------------------------------------------------------------------------
929054848d6c copies: properly match result during changeset centric copy tracing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46035
diff changeset
  2113
929054848d6c copies: properly match result during changeset centric copy tracing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46035
diff changeset
  2114
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
  2115
929054848d6c copies: properly match result during changeset centric copy tracing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46035
diff changeset
  2116
  $ 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
  2117
  A f
929054848d6c copies: properly match result during changeset centric copy tracing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46035
diff changeset
  2118
    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
  2119
  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
  2120
    p
46159
929054848d6c copies: properly match result during changeset centric copy tracing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46035
diff changeset
  2121
  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
  2122
  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
  2123
  $ 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
  2124
  A f
929054848d6c copies: properly match result during changeset centric copy tracing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46035
diff changeset
  2125
    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
  2126
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
  2127
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
  2128
---------------------------------------------------------------
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
  2129
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
  2130
- 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
  2131
- 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
  2132
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
  2133
  $ 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
  2134
  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
  2135
  |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2136
  +---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
  2137
  | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2138
  | 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
  2139
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2140
  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
  2141
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2142
  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
  2143
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2144
  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
  2145
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2146
  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
  2147
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
  2148
  o  i-0 initial commit: a b h p q r
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
  2149
  
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
  2150
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2151
  $ 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
  2152
  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
  2153
    d
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2154
  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
  2155
  $ 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
  2156
  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
  2157
    d
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2158
  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
  2159
  $ 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
  2160
  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
  2161
  $ 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
  2162
  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
  2163
  $ 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
  2164
  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
  2165
  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
  2166
    d
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2167
  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
  2168
  $ 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
  2169
  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
  2170
  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
  2171
    d
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2172
  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
  2173
  $ 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
  2174
  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
  2175
  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
  2176
    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
  2177
  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
  2178
    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
  2179
  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
  2180
  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
  2181
  $ 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
  2182
  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
  2183
  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
  2184
    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
  2185
  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
  2186
    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
  2187
  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
  2188
  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
  2189
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2190
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
  2191
-------------------------------------
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2192
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2193
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
  2194
- 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
  2195
- 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
  2196
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
  2197
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
  2198
  $ 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
  2199
  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
  2200
  |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2201
  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
  2202
  |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2203
  | | 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
  2204
  | | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2205
  +---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
  2206
  | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2207
  | 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
  2208
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2209
  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
  2210
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2211
  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
  2212
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2213
  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
  2214
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
  2215
  o  i-0 initial commit: a b h p q 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
  2216
  
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
  2217
- 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
  2218
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
  2219
  $ 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
  2220
  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
  2221
  $ 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
  2222
  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
  2223
  $ 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
  2224
  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
  2225
  $ 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
  2226
  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
  2227
  $ 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
  2228
  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
  2229
  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
  2230
  $ 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
  2231
  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
  2232
  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
  2233
  $ 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
  2234
  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
  2235
  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
  2236
    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
  2237
  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
  2238
  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
  2239
  $ 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
  2240
  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
  2241
  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
  2242
    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
  2243
  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
  2244
  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
  2245
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
  2246
- 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
  2247
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
  2248
  $ 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
  2249
  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
  2250
  $ 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
  2251
  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
  2252
  $ 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
  2253
  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
  2254
  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
  2255
  $ 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
  2256
  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
  2257
  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
  2258
  $ 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
  2259
  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
  2260
  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
  2261
  $ 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
  2262
  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
  2263
  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
  2264
  $ 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
  2265
  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
  2266
  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
  2267
  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
  2268
    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
  2269
  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
  2270
  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
  2271
  $ 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
  2272
  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
  2273
  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
  2274
  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
  2275
    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
  2276
  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
  2277
  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
  2278
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
  2279
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
  2280
---------------------------------------------------
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
  2281
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
  2282
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
  2283
- 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
  2284
- 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
  2285
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2286
  $ 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
  2287
  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
  2288
  |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2289
  +---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
  2290
  | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2291
  | 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
  2292
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2293
  | 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
  2294
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2295
  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
  2296
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2297
  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
  2298
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2299
  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
  2300
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
  2301
  o  i-0 initial commit: a b h p q r
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2302
  
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
  2303
  $ 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
  2304
  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
  2305
  $ 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
  2306
  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
  2307
  $ 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
  2308
  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
  2309
  $ 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
  2310
  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
  2311
  $ 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
  2312
  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
  2313
  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
  2314
  $ 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
  2315
  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
  2316
  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
  2317
44454
b8882f5d7cb4 copies-tests: update the analysis of the BD/DB cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44453
diff changeset
  2318
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
  2319
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
  2320
  $ 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
  2321
  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
  2322
  $ 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
  2323
  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
  2324
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
  2325
  $ 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
  2326
  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
  2327
  $ 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
  2328
  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
  2329
  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
  2330
  $ 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
  2331
     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
  2332
       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
  2333
       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
  2334
       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
  2335
       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
  2336
       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
  2337
45653
a357688e3c9c tests: update/remove outdated comments in test-copies-chain-merge.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45461
diff changeset
  2338
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
  2339
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
  2340
  $ 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
  2341
  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
  2342
  |
44687
1b8fd4af3318 mergestate: store about files resolved in favour of other
Pulkit Goyal <7895pulkit@gmail.com>
parents: 44678
diff changeset
  2343
  ~
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
  2344
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
  2345
  $ 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
  2346
  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
  2347
  |
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
  2348
  ~
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
  2349
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
  2350
  $ 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
  2351
  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
  2352
  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
  2353
  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
  2354
    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
  2355
  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
  2356
  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
  2357
  $ 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
  2358
  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
  2359
  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
  2360
  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
  2361
    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
  2362
  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
  2363
  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
  2364
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2365
44455
275365d85e3f copies-tests: clarify the description of the EA/AE cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44454
diff changeset
  2366
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
  2367
--------------------------------------------
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
  2368
46543
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46542
diff changeset
  2369
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
  2370
``````````````````````````````````````````
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46542
diff changeset
  2371
44455
275365d85e3f copies-tests: clarify the description of the EA/AE cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44454
diff changeset
  2372
- 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
  2373
- 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
  2374
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2375
  $ 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
  2376
  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
  2377
  |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2378
  +---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
  2379
  | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2380
  | 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
  2381
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2382
  | 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
  2383
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2384
  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
  2385
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2386
  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
  2387
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2388
  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
  2389
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2390
  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
  2391
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
  2392
  o  i-0 initial commit: a b h p q r
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2393
  
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2394
#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
  2395
  $ 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
  2396
  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
  2397
  $ 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
  2398
  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
  2399
  $ 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
  2400
  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
  2401
  $ 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
  2402
  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
  2403
  $ 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
  2404
     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
  2405
       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
  2406
       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
  2407
       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
  2408
       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
  2409
       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
  2410
#else
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2411
  $ 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
  2412
  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
  2413
  $ 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
  2414
  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
  2415
  $ 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
  2416
  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
  2417
  $ 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
  2418
  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
  2419
  $ 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
  2420
     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
  2421
       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
  2422
       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
  2423
       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
  2424
#endif
44758
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  2425
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  2426
# 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
  2427
# 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
  2428
# 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
  2429
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
  2430
  $ 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
  2431
  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
  2432
    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
  2433
  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
  2434
  $ 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
  2435
  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
  2436
    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
  2437
  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
  2438
  $ 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
  2439
  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
  2440
    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
  2441
  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
  2442
  $ 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
  2443
  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
  2444
    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
  2445
  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
  2446
  $ 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
  2447
  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
  2448
    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
  2449
  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
  2450
  $ 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
  2451
  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
  2452
    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
  2453
  R b
44758
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  2454
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  2455
# 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
  2456
#
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  2457
# 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
  2458
# 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
  2459
# 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
  2460
# 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
  2461
#
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  2462
# 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
  2463
# 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
  2464
# 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
  2465
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
  2466
  $ 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
  2467
  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
  2468
    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
  2469
  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
  2470
  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
  2471
  $ 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
  2472
  A f
44758
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  2473
    d (filelog !)
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  2474
    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
  2475
  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
  2476
  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
  2477
  $ 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
  2478
  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
  2479
    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
  2480
  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
  2481
    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
  2482
  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
  2483
  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
  2484
  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
  2485
  $ 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
  2486
  A f
44758
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  2487
    a (filelog !)
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  2488
    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
  2489
  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
  2490
    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
  2491
  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
  2492
  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
  2493
  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
  2494
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2495
46543
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46542
diff changeset
  2496
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
  2497
````````````````````````````````````````````````````````````
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46542
diff changeset
  2498
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2499
Note:
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2500
| 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
  2501
| 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
  2502
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2503
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
  2504
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
  2505
- 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
  2506
- 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
  2507
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2508
  $ 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
  2509
  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
  2510
  |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2511
  +---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
  2512
  | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2513
  | 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
  2514
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2515
  | 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
  2516
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2517
  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
  2518
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2519
  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
  2520
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2521
  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
  2522
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
  2523
  o  i-0 initial commit: a b h p q r
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2524
  
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
  2525
  $ 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
  2526
  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
  2527
  A d
44687
1b8fd4af3318 mergestate: store about files resolved in favour of other
Pulkit Goyal <7895pulkit@gmail.com>
parents: 44678
diff changeset
  2528
    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
  2529
  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
  2530
    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
  2531
  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
  2532
  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
  2533
  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
  2534
  $ 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
  2535
  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
  2536
  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
  2537
    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
  2538
  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
  2539
    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
  2540
  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
  2541
  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
  2542
  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
  2543
  $ 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
  2544
  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
  2545
    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
  2546
  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
  2547
  $ 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
  2548
  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
  2549
  $ 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
  2550
  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
  2551
  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
  2552
    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
  2553
  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
  2554
  $ 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
  2555
  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
  2556
    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
  2557
  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
  2558
  $ 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
  2559
  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
  2560
  $ 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
  2561
  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
  2562
  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
  2563
    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
  2564
  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
  2565
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2566
#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
  2567
  $ 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
  2568
  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
  2569
  |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2570
  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
  2571
  :
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
  2572
  o  i-0 initial commit: a b h p q r
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
  2573
  
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2574
#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
  2575
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
  2576
  $ 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
  2577
  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
  2578
  |
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2579
  ~
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2580
#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
  2581
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
#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
  2583
  $ 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
  2584
  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
  2585
  |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2586
  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
  2587
  :
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
  2588
  o  i-0 initial commit: a b h p q r
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
  2589
  
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2590
#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
  2591
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
  2592
  $ 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
  2593
  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
  2594
  |
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2595
  ~
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2596
#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
  2597
46560
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2598
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2599
Subcase: existing copy information overwritten on one branch, with different content)
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2600
`````````````````````````````````````````````````````````````````````````````````````
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2601
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2602
Merge:
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2603
- one with change to an unrelated file (b)
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2604
- one overwriting a file (t) with a rename (from r to x to t), v content is not the same as on the other branch
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2605
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2606
  $ hg log -G --rev '::(desc("mBRm")+desc("mRBm"))'
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2607
  o    mRBm-0 simple merge - B side: unrelated change, R side: overwrite d with a copy (from r->x->t) different content - the other way
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2608
  |\
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2609
  +---o  mBRm-0 simple merge - B side: unrelated change, R side: overwrite d with a copy (from r->x->t) different content - one way
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2610
  | |/
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2611
  | o  r-2: rename t -> x
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2612
  | |
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2613
  | o  r-1: rename r -> x
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2614
  | |
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2615
  o |  b-1: b update
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2616
  |/
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2617
  o  i-2: c -move-> d, s -move-> t
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2618
  |
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2619
  o  i-1: a -move-> c, p -move-> s
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2620
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
  2621
  o  i-0 initial commit: a b h p q r
46560
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2622
  
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2623
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mBRm-0")'
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2624
  M b
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2625
  A d
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2626
    a
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2627
  A t
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2628
    r
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2629
  R a
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2630
  R p
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2631
  R r
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2632
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mRBm-0")'
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2633
  M b
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2634
  A d
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2635
    a
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2636
  A t
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2637
    r
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2638
  R a
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2639
  R p
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2640
  R r
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2641
  $ hg status --copies --rev 'desc("b-1")' --rev 'desc("mBRm-0")'
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2642
  M t
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2643
    r (no-filelog !)
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2644
  R r
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2645
  $ hg status --copies --rev 'desc("r-2")' --rev 'desc("mBRm-0")'
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2646
  M b
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2647
  $ hg status --copies --rev 'desc("r-1")' --rev 'desc("mBRm-0")'
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2648
  M b
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2649
  M t
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2650
    x (no-filelog !)
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2651
  R x
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2652
  $ hg status --copies --rev 'desc("b-1")' --rev 'desc("mRBm-0")'
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2653
  M t
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2654
    r (no-filelog !)
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2655
  R r
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2656
  $ hg status --copies --rev 'desc("r-2")' --rev 'desc("mRBm-0")'
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2657
  M b
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2658
  $ hg status --copies --rev 'desc("r-1")' --rev 'desc("mRBm-0")'
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2659
  M b
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2660
  M t
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2661
    x (no-filelog !)
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2662
  R x
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2663
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2664
#if no-changeset
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2665
  $ hg log -Gfr 'desc("mBRm-0")' d
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2666
  o  i-2: c -move-> d, s -move-> t
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2667
  |
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2668
  o  i-1: a -move-> c, p -move-> s
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2669
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
  2670
  o  i-0 initial commit: a b h p q r
46560
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2671
  
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2672
#else
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2673
BROKEN: `hg log --follow <file>` relies on filelog metadata to work
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2674
  $ hg log -Gfr 'desc("mBRm-0")' d
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2675
  o  i-2: c -move-> d, s -move-> t
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2676
  |
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2677
  ~
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2678
#endif
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2679
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2680
#if no-changeset
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2681
  $ hg log -Gfr 'desc("mRBm-0")' d
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2682
  o  i-2: c -move-> d, s -move-> t
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2683
  |
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2684
  o  i-1: a -move-> c, p -move-> s
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2685
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
  2686
  o  i-0 initial commit: a b h p q r
46560
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2687
  
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2688
#else
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2689
BROKEN: `hg log --follow <file>` relies on filelog metadata to work
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2690
  $ hg log -Gfr 'desc("mRBm-0")' d
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2691
  o  i-2: c -move-> d, s -move-> t
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2692
  |
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2693
  ~
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2694
#endif
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2695
46543
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46542
diff changeset
  2696
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
  2697
``````````````````````````````````````````````
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2698
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
  2699
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
  2700
- 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
  2701
- 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
  2702
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2703
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
  2704
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
  2705
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2706
  $ 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
  2707
  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
  2708
  |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2709
  +---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
  2710
  | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2711
  | 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
  2712
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2713
  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
  2714
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2715
  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
  2716
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2717
  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
  2718
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2719
  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
  2720
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
  2721
  o  i-0 initial commit: a b h p q r
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2722
  
44758
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  2723
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
  2724
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
  2725
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  2726
(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
  2727
revision numbers)
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  2728
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
  2729
  $ 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
  2730
  A d
44758
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  2731
    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
  2732
  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
  2733
    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
  2734
  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
  2735
  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
  2736
  $ 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
  2737
  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
  2738
    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
  2739
  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
  2740
    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
  2741
  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
  2742
  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
  2743
  $ 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
  2744
  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
  2745
  $ 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
  2746
  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
  2747
  $ 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
  2748
  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
  2749
  $ 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
  2750
  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
  2751
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2752
#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
  2753
  $ 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
  2754
  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
  2755
  |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2756
  | 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
  2757
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2758
  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
  2759
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2760
  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
  2761
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2762
  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
  2763
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
  2764
  o  i-0 initial commit: a b h p q r
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
  2765
  
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2766
#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
  2767
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
  2768
  $ 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
  2769
  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
  2770
  |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2771
  | 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
  2772
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2773
  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
  2774
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2775
  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
  2776
  |
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2777
  ~
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2778
#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
  2779
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
  2780
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2781
#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
  2782
  $ 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
  2783
  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
  2784
  |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2785
  | 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
  2786
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2787
  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
  2788
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2789
  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
  2790
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2791
  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
  2792
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
  2793
  o  i-0 initial commit: a b h p q r
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
  2794
  
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2795
#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
  2796
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
  2797
  $ 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
  2798
  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
  2799
  |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2800
  | 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
  2801
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2802
  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
  2803
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2804
  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
  2805
  |
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2806
  ~
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2807
#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
  2808
46543
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46542
diff changeset
  2809
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
  2810
````````````````````````````````````````````````````````````````````````````````````````````
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
  2811
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
  2812
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
  2813
- 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
  2814
- 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
  2815
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
  2816
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
  2817
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
  2818
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
  2819
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2820
  $ 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
  2821
  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
  2822
  |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2823
  +---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
  2824
  | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2825
  | 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
  2826
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2827
  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
  2828
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2829
  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
  2830
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2831
  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
  2832
  |
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
  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
  2834
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
  2835
  o  i-0 initial commit: a b h p q r
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2836
  
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
  2837
1d6aac94e6d5 copies: explain the "arbitrary" copy source pick in case of conflict
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46159
diff changeset
  2838
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
  2839
| 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
  2840
| "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
  2841
|
1d6aac94e6d5 copies: explain the "arbitrary" copy source pick in case of conflict
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46159
diff changeset
  2842
| 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
  2843
1d6aac94e6d5 copies: explain the "arbitrary" copy source pick in case of conflict
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46159
diff changeset
  2844
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
  2845
1d6aac94e6d5 copies: explain the "arbitrary" copy source pick in case of conflict
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46159
diff changeset
  2846
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
  2847
1d6aac94e6d5 copies: explain the "arbitrary" copy source pick in case of conflict
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46159
diff changeset
  2848
  $ 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
  2849
  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
  2850
  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
  2851
  $ 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
  2852
  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
  2853
    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
  2854
1d6aac94e6d5 copies: explain the "arbitrary" copy source pick in case of conflict
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46159
diff changeset
  2855
  $ 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
  2856
  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
  2857
  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
  2858
  $ 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
  2859
  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
  2860
    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
  2861
1d6aac94e6d5 copies: explain the "arbitrary" copy source pick in case of conflict
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46159
diff changeset
  2862
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
  2863
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
  2864
  $ 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
  2865
  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
  2866
    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
  2867
    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
  2868
  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
  2869
    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
  2870
  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
  2871
  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
  2872
  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
  2873
  $ 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
  2874
  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
  2875
    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
  2876
    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
  2877
  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
  2878
    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
  2879
  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
  2880
  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
  2881
  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
  2882
  $ 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
  2883
  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
  2884
  $ 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
  2885
  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
  2886
  $ 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
  2887
  M d
44758
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  2888
    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
  2889
  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
  2890
  $ 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
  2891
  M d
44758
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  2892
    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
  2893
  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
  2894
  $ 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
  2895
  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
  2896
    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
  2897
  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
  2898
  $ 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
  2899
  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
  2900
    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
  2901
  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
  2902
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2903
#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
  2904
  $ 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
  2905
  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
  2906
  |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2907
  | 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
  2908
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2909
  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
  2910
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2911
  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
  2912
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2913
  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
  2914
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2915
  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
  2916
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
  2917
  o  i-0 initial commit: a b h p q r
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
  2918
  
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2919
#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
  2920
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
  2921
  $ 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
  2922
  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
  2923
  |
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
  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
  2925
  |
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2926
  ~
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2927
#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
  2928
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2929
#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
  2930
  $ 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
  2931
  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
  2932
  |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2933
  | 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
  2934
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2935
  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
  2936
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2937
  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
  2938
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2939
  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
  2940
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2941
  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
  2942
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
  2943
  o  i-0 initial commit: a b h p q r
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
  2944
  
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2945
#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
  2946
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
  2947
  $ 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
  2948
  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
  2949
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2950
  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
  2951
  |
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2952
  ~
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2953
#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
  2954
46559
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2955
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
  2956
`````````````````````````````````````````````````````````````````````````
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2957
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2958
- 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
  2959
- 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
  2960
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2961
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2962
  $ 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
  2963
  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
  2964
  |\
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2965
  +---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
  2966
  | |/
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2967
  | 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
  2968
  | |
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2969
  | 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
  2970
  | |
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2971
  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
  2972
  | |
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2973
  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
  2974
  |/
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2975
  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
  2976
  |
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2977
  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
  2978
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
  2979
  o  i-0 initial commit: a b h p q r
46559
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2980
  
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2981
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2982
#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
  2983
  $ 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
  2984
  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
  2985
  $ 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
  2986
  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
  2987
  $ 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
  2988
  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
  2989
  $ 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
  2990
  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
  2991
  $ 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
  2992
     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
  2993
       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
  2994
       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
  2995
       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
  2996
       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
  2997
#else
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  2998
  $ 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
  2999
  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
  3000
  $ 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
  3001
  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
  3002
  $ 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
  3003
  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
  3004
  $ 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
  3005
  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
  3006
  $ 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
  3007
     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
  3008
       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
  3009
       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
  3010
       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
  3011
       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
  3012
#endif
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3013
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3014
# 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
  3015
# 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
  3016
# 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
  3017
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3018
  $ 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
  3019
  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
  3020
    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
  3021
  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
  3022
  $ 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
  3023
  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
  3024
    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
  3025
  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
  3026
  $ 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
  3027
  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
  3028
    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
  3029
  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
  3030
  $ 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
  3031
  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
  3032
    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
  3033
  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
  3034
  $ 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
  3035
  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
  3036
    t
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3037
  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
  3038
  $ 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
  3039
  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
  3040
    r
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3041
  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
  3042
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3043
# 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
  3044
#
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3045
# 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
  3046
# 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
  3047
# 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
  3048
# 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
  3049
#
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3050
# 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
  3051
# 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
  3052
# 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
  3053
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3054
  $ 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
  3055
  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
  3056
    t
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3057
  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
  3058
  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
  3059
  $ 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
  3060
  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
  3061
    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
  3062
    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
  3063
  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
  3064
  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
  3065
  $ 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
  3066
  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
  3067
    a
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3068
  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
  3069
    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
  3070
    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
  3071
  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
  3072
  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
  3073
  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
  3074
  $ 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
  3075
  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
  3076
    a
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3077
  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
  3078
    r
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3079
  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
  3080
  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
  3081
  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
  3082
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
  3083
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
  3084
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
  3085
-------------------------------------------------------------
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
  3086
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
  3087
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
  3088
- 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
  3089
- 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
  3090
- 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
  3091
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
  3092
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
  3093
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
  3094
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
  3095
  $ 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
  3096
  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
  3097
  |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  3098
  +---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
  3099
  | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  3100
  | 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
  3101
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  3102
  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
  3103
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  3104
  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
  3105
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  3106
  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
  3107
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
  3108
  o  i-0 initial commit: a b h p q r
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
  3109
  
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
  3110
45670
a8fb29b05f92 salvaged: properly deal with salvaged file during copy tracing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45669
diff changeset
  3111
'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
  3112
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
  3113
  $ 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
  3114
  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
  3115
    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
  3116
  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
  3117
    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
  3118
  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
  3119
  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
  3120
  $ 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
  3121
  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
  3122
    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
  3123
  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
  3124
    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
  3125
  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
  3126
  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
  3127
  $ 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
  3128
  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
  3129
  $ 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
  3130
  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
  3131
  $ 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
  3132
  $ 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
  3133
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  3134
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  3135
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
  3136
--------------------------------------------------------
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  3137
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  3138
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
  3139
- 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
  3140
- 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
  3141
- 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
  3142
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  3143
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
  3144
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
  3145
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  3146
  $ 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
  3147
  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
  3148
  |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  3149
  +---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
  3150
  | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  3151
  | 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
  3152
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  3153
  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
  3154
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  3155
  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
  3156
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  3157
  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
  3158
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
  3159
  o  i-0 initial commit: a b h p q r
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
  3160
  
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  3161
45670
a8fb29b05f92 salvaged: properly deal with salvaged file during copy tracing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45669
diff changeset
  3162
'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
  3163
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  3164
  $ 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
  3165
  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
  3166
  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
  3167
    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
  3168
  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
  3169
    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
  3170
  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
  3171
  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
  3172
  $ 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
  3173
  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
  3174
  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
  3175
    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
  3176
  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
  3177
    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
  3178
  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
  3179
  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
  3180
  $ 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
  3181
  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
  3182
  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
  3183
  $ 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
  3184
  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
  3185
  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
  3186
  $ 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
  3187
  $ 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
  3188
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  3189
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  3190
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
  3191
------------------------------------------------------------------------------------------
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  3192
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  3193
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
  3194
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
  3195
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  3196
(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
  3197
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  3198
  $ 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
  3199
  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
  3200
  |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  3201
  +---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
  3202
  | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  3203
  | 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
  3204
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  3205
  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
  3206
  | |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  3207
  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
  3208
  | |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  3209
  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
  3210
  |/
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
  3211
  o  i-0 initial commit: a b h p q r
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
  3212
  
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  3213
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  3214
  $ 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
  3215
  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
  3216
    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
  3217
  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
  3218
    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
  3219
  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
  3220
  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
  3221
  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
  3222
  $ 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
  3223
  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
  3224
    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
  3225
  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
  3226
    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
  3227
  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
  3228
  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
  3229
  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
  3230
  $ 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
  3231
  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
  3232
    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
  3233
  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
  3234
  $ 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
  3235
  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
  3236
    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
  3237
  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
  3238
  $ 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
  3239
  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
  3240
    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
  3241
  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
  3242
  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
  3243
  $ 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
  3244
  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
  3245
    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
  3246
  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
  3247
  R p
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  3248
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
  3249
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
  3250
--------------------------------------------------------------
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
  3251
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
  3252
(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
  3253
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
  3254
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
  3255
```````````````````````````````````````````````````````````````````````````````````
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
  3256
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
  3257
- 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
  3258
- 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
  3259
- 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
  3260
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
  3261
  $ 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
  3262
  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
  3263
  |\
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
  3264
  +---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
  3265
  | |/
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
  3266
  | 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
  3267
  | |
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
  3268
  | 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
  3269
  | |
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
  3270
  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
  3271
  | |
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
  3272
  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
  3273
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  3274
  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
  3275
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  3276
  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
  3277
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
  3278
  o  i-0 initial commit: a b h p q r
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
  3279
  
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
  3280
#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
  3281
  $ 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
  3282
  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
  3283
  $ 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
  3284
  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
  3285
  $ 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
  3286
  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
  3287
  $ 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
  3288
  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
  3289
  $ 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
  3290
     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
  3291
       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
  3292
       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
  3293
       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
  3294
       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
  3295
       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
  3296
#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
  3297
  $ 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
  3298
  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
  3299
  $ 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
  3300
  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
  3301
  $ 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
  3302
  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
  3303
  $ 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
  3304
  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
  3305
  $ 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
  3306
     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
  3307
       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
  3308
       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
  3309
       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
  3310
#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
  3311
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
  3312
# 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
  3313
# 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
  3314
# 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
  3315
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
  3316
  $ 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
  3317
  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
  3318
    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
  3319
  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
  3320
  $ 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
  3321
  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
  3322
    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
  3323
  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
  3324
  $ 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
  3325
  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
  3326
    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
  3327
  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
  3328
  $ 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
  3329
  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
  3330
    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
  3331
  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
  3332
  $ 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
  3333
  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
  3334
    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
  3335
  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
  3336
  $ 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
  3337
  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
  3338
    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
  3339
  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
  3340
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
  3341
# 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
  3342
#
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
  3343
# 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
  3344
# 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
  3345
# 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
  3346
# 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
  3347
#
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
  3348
# 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
  3349
# 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
  3350
# 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
  3351
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
  3352
  $ 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
  3353
  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
  3354
    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
  3355
  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
  3356
  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
  3357
  $ 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
  3358
  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
  3359
    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
  3360
    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
  3361
  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
  3362
  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
  3363
  $ 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
  3364
  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
  3365
    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
  3366
  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
  3367
    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
  3368
  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
  3369
  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
  3370
  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
  3371
  $ 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
  3372
  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
  3373
    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
  3374
    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
  3375
  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
  3376
    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
  3377
  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
  3378
  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
  3379
  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
  3380
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
  3381
46782
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3382
Subcase: merge overwrite common copy information, but with extra change during the merge
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3383
```````````````````````````````````````````````````````````````````````````````````
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3384
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3385
Merge:
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3386
- one with change to an unrelated file (b)
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3387
- one overwriting a file (d) with a rename (from h to i to d)
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3388
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3389
  $ hg log -G --rev '::(desc("mBF-change-m")+desc("mFB-change-m"))'
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3390
  o    mFB-change-m-0 merge with extra change - B side: unrelated change, F side: overwrite d with a copy (from h->i->d) - the other way
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3391
  |\
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3392
  +---o  mBF-change-m-0 merge with extra change - B side: unrelated change, F side: overwrite d with a copy (from h->i->d) - one way
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3393
  | |/
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3394
  | o  f-2: rename i -> d
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3395
  | |
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3396
  | o  f-1: rename h -> i
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3397
  | |
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3398
  o |  b-1: b update
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3399
  |/
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3400
  o  i-2: c -move-> d, s -move-> t
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3401
  |
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3402
  o  i-1: a -move-> c, p -move-> s
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3403
  |
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3404
  o  i-0 initial commit: a b h p q r
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3405
  
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3406
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mBF-change-m-0")'
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3407
  M b
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3408
  A d
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3409
    h (filelog !)
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3410
    h (sidedata !)
46815
433cef8f3104 copies: distinguish between merged and touched files during upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46814
diff changeset
  3411
    h (upgraded !)
433cef8f3104 copies: distinguish between merged and touched files during upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46814
diff changeset
  3412
    h (upgraded-parallel !)
46782
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3413
    h (changeset !)
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3414
    h (compatibility !)
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3415
  A t
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3416
    p
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3417
  R a
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3418
  R h
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3419
  R p
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3420
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mFB-change-m-0")'
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3421
  M b
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3422
  A d
46811
5a0b930cfb3e commit: get info from mergestate whether a file was merged or not
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46782
diff changeset
  3423
    h
46782
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3424
  A t
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3425
    p
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3426
  R a
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3427
  R h
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3428
  R p
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3429
  $ hg status --copies --rev 'desc("b-1")' --rev 'desc("mBF-change-m-0")'
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3430
  M d
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3431
    h (no-filelog !)
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3432
  R h
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3433
  $ hg status --copies --rev 'desc("f-2")' --rev 'desc("mBF-change-m-0")'
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3434
  M b
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3435
  M d
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3436
  $ hg status --copies --rev 'desc("f-1")' --rev 'desc("mBF-change-m-0")'
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3437
  M b
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3438
  M d
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3439
    i (no-filelog !)
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3440
  R i
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3441
  $ hg status --copies --rev 'desc("b-1")' --rev 'desc("mFB-change-m-0")'
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3442
  M d
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3443
    h (no-filelog !)
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3444
  R h
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3445
  $ hg status --copies --rev 'desc("f-2")' --rev 'desc("mFB-change-m-0")'
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3446
  M b
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3447
  M d
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3448
  $ hg status --copies --rev 'desc("f-1")' --rev 'desc("mFB-change-m-0")'
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3449
  M b
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3450
  M d
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3451
    i (no-filelog !)
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3452
  R i
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3453
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3454
#if no-changeset
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3455
  $ hg log -Gfr 'desc("mBF-change-m-0")' d
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3456
  o    mBF-change-m-0 merge with extra change - B side: unrelated change, F side: overwrite d with a copy (from h->i->d) - one way
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3457
  |\
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3458
  o :  f-2: rename i -> d
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3459
  | :
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3460
  o :  f-1: rename h -> i
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3461
  :/
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3462
  o  i-0 initial commit: a b h p q r
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3463
  
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3464
#else
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3465
BROKEN: `hg log --follow <file>` relies on filelog metadata to work
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3466
  $ hg log -Gfr 'desc("mBF-change-m-0")' d
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3467
  o  mBF-change-m-0 merge with extra change - B side: unrelated change, F side: overwrite d with a copy (from h->i->d) - one way
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3468
  :
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3469
  o  i-2: c -move-> d, s -move-> t
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3470
  |
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3471
  ~
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3472
#endif
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3473
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3474
#if no-changeset
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3475
  $ hg log -Gfr 'desc("mFB-change-m-0")' d
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3476
  o    mFB-change-m-0 merge with extra change - B side: unrelated change, F side: overwrite d with a copy (from h->i->d) - the other way
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3477
  |\
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3478
  o :  f-2: rename i -> d
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3479
  | :
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3480
  o :  f-1: rename h -> i
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3481
  :/
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3482
  o  i-0 initial commit: a b h p q r
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3483
  
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3484
#else
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3485
BROKEN: `hg log --follow <file>` relies on filelog metadata to work
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3486
  $ hg log -Gfr 'desc("mFB-change-m-0")' d
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3487
  o  mFB-change-m-0 merge with extra change - B side: unrelated change, F side: overwrite d with a copy (from h->i->d) - the other way
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3488
  :
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3489
  o  i-2: c -move-> d, s -move-> t
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3490
  |
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3491
  ~
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3492
#endif
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3493
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3494
46813
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  3495
Subcase: restoring and untouched deleted file, while touching it
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  3496
````````````````````````````````````````````````````````````````
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  3497
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  3498
Merge:
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  3499
- one removing a file (d)
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  3500
- one leaving the file untouched
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  3501
- the merge actively restore the file to the same content.
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  3502
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  3503
In this case, the file keep on living after the merge. So we should not drop its
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  3504
copy tracing chain.
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  3505
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  3506
  $ hg log -G --rev '::(desc("mCB-change-m")+desc("mBC-change-m"))'
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  3507
  o    mBC-change-m-0 merge explicitely revive deleted file - B side: unrelated change, C side: delete d (restored by merge) - the other way
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  3508
  |\
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  3509
  +---o  mCB-change-m-0 merge explicitely revive deleted file - B side: unrelated change, C side: delete d (restored by merge) - one way
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  3510
  | |/
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  3511
  | o  c-1 delete d
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  3512
  | |
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  3513
  o |  b-1: b update
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  3514
  |/
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  3515
  o  i-2: c -move-> d, s -move-> t
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  3516
  |
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  3517
  o  i-1: a -move-> c, p -move-> s
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  3518
  |
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  3519
  o  i-0 initial commit: a b h p q r
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  3520
  
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  3521
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  3522
'a' is the the copy source of 'd'
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  3523
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  3524
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mCB-change-m-0")'
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  3525
  M b
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  3526
  A d
46814
c52c3c4cbd3f copies: detect files as `touched/salvaged` if they only existed on one side
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46813
diff changeset
  3527
    a (no-compatibility no-changeset !)
46813
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  3528
  A t
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  3529
    p
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  3530
  R a
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  3531
  R p
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  3532
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mBC-change-m-0")'
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  3533
  M b
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  3534
  A d
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  3535
    a (no-compatibility no-changeset !)
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  3536
  A t
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  3537
    p
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  3538
  R a
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  3539
  R p
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  3540
  $ hg status --copies --rev 'desc("c-1")' --rev 'desc("mCB-change-m-0")'
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  3541
  M b
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  3542
  A d
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  3543
  $ hg status --copies --rev 'desc("c-1")' --rev 'desc("mBC-change-m-0")'
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  3544
  M b
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  3545
  A d
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  3546
  $ hg status --copies --rev 'desc("b-1")' --rev 'desc("mCB-change-m-0")'
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  3547
  M d
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  3548
  $ hg status --copies --rev 'desc("b-1")' --rev 'desc("mBC-change-m-0")'
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  3549
  M d
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  3550
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  3551
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  3552
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
  3553
------------------------------------------------------------------
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  3554
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  3555
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  3556
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
  3557
```````````````````````````````````````````````
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  3558
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  3559
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
  3560
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
  3561
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
  3562
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
  3563
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  3564
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
  3565
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  3566
  $ 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
  3567
  A f
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  3568
    a (filelog !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  3569
    a (sidedata !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  3570
    a (upgraded !)
46618
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  3571
    a (upgraded-parallel !)
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  3572
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  3573
  $ 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
  3574
  A f
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  3575
    a (filelog !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  3576
    a (sidedata !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  3577
    a (upgraded !)
46618
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  3578
    a (upgraded-parallel !)
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  3579
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  3580
  $ 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
  3581
  A f
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  3582
    a (filelog !)
46563
c19c662097e1 copies: detect case when a merge decision overwrite previous data
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46561
diff changeset
  3583
    a (sidedata !)
c19c662097e1 copies: detect case when a merge decision overwrite previous data
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46561
diff changeset
  3584
    a (upgraded !)
46618
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  3585
    a (upgraded-parallel !)
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  3586
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  3587
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  3588
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
  3589
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  3590
  $ 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
  3591
  A f
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  3592
    a (filelog !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  3593
    b (sidedata !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  3594
    b (upgraded !)
46618
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  3595
    b (upgraded-parallel !)
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  3596
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  3597
  $ 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
  3598
  A f
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  3599
    a (filelog !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  3600
    b (sidedata !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  3601
    b (upgraded !)
46618
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  3602
    b (upgraded-parallel !)
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  3603
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  3604
  $ 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
  3605
  A f
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  3606
    a (filelog !)
46563
c19c662097e1 copies: detect case when a merge decision overwrite previous data
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46561
diff changeset
  3607
    b (sidedata !)
c19c662097e1 copies: detect case when a merge decision overwrite previous data
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46561
diff changeset
  3608
    b (upgraded !)
46618
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  3609
    b (upgraded-parallel !)
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  3610
46561
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  3611
Subcase: chaining conflicting rename resolution
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  3612
```````````````````````````````````````````````
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  3613
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  3614
The "mPQm" and "mQPm" case create a rename tracking conflict on file 'v'. We
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  3615
add more change on the respective branch and merge again. These second merge
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  3616
does not involve the file 'v' and the arbitration done within "mPQm" and "mQP"
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  3617
about that file should stay unchanged.
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  3618
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  3619
The result from mPQm is the same for the subsequent merge:
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  3620
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  3621
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mPQm")' v
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  3622
  A v
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  3623
    r (filelog !)
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  3624
    p (sidedata !)
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  3625
    p (upgraded !)
46618
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  3626
    p (upgraded-parallel !)
46561
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  3627
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  3628
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mPQ,Tm")' v
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  3629
  A v
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  3630
    r (filelog !)
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  3631
    p (sidedata !)
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  3632
    p (upgraded !)
46618
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  3633
    p (upgraded-parallel !)
46561
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  3634
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  3635
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mT,PQm")' v
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  3636
  A v
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  3637
    r (filelog !)
46563
c19c662097e1 copies: detect case when a merge decision overwrite previous data
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46561
diff changeset
  3638
    p (sidedata !)
c19c662097e1 copies: detect case when a merge decision overwrite previous data
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46561
diff changeset
  3639
    p (upgraded !)
46618
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  3640
    p (upgraded-parallel !)
46561
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  3641
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  3642
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  3643
The result from mQPm is the same for the subsequent merge:
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  3644
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  3645
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mQPm")' v
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  3646
  A v
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  3647
    r (no-changeset no-compatibility !)
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  3648
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  3649
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mQP,Sm")' v
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  3650
  A v
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  3651
    r (no-changeset no-compatibility !)
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  3652
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  3653
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mS,QPm")' v
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  3654
  A v
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  3655
    r (filelog !)
46563
c19c662097e1 copies: detect case when a merge decision overwrite previous data
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46561
diff changeset
  3656
    r (sidedata !)
c19c662097e1 copies: detect case when a merge decision overwrite previous data
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46561
diff changeset
  3657
    r (upgraded !)
46618
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  3658
    r (upgraded-parallel !)
46561
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  3659
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  3660
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  3661
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
  3662
````````````````````````````````````````````````````
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  3663
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  3664
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
  3665
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
  3666
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  3667
reference output:
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  3668
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  3669
  $ 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
  3670
  M b
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  3671
  A d
46563
c19c662097e1 copies: detect case when a merge decision overwrite previous data
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46561
diff changeset
  3672
    a (no-changeset no-compatibility !)
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  3673
  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
  3674
    p
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  3675
  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
  3676
  R p
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  3677
  $ 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
  3678
  M b
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  3679
  A d
46563
c19c662097e1 copies: detect case when a merge decision overwrite previous data
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46561
diff changeset
  3680
    a (no-changeset no-compatibility !)
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  3681
  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
  3682
    p
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  3683
  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
  3684
  R p
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  3685
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  3686
chained output
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  3687
  $ 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
  3688
  M b
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  3689
  A d
46563
c19c662097e1 copies: detect case when a merge decision overwrite previous data
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46561
diff changeset
  3690
    a (no-changeset no-compatibility !)
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  3691
  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
  3692
    p
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  3693
  A unrelated-l
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  3694
  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
  3695
  R p
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  3696
  $ 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
  3697
  M b
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  3698
  A d
46563
c19c662097e1 copies: detect case when a merge decision overwrite previous data
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46561
diff changeset
  3699
    a (no-changeset no-compatibility !)
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  3700
  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
  3701
    p
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  3702
  A unrelated-l
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  3703
  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
  3704
  R p
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  3705
  $ 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
  3706
  M b
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  3707
  A d
46563
c19c662097e1 copies: detect case when a merge decision overwrite previous data
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46561
diff changeset
  3708
    a (no-changeset no-compatibility !)
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  3709
  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
  3710
    p
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  3711
  A unrelated-l
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  3712
  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
  3713
  R p
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  3714
  $ 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
  3715
  M b
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  3716
  A d
46563
c19c662097e1 copies: detect case when a merge decision overwrite previous data
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46561
diff changeset
  3717
    a (no-changeset no-compatibility !)
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  3718
  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
  3719
    p
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  3720
  A unrelated-l
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  3721
  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
  3722
  R p
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  3723
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3724
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
  3725
``````````````````````````````````````````````````````
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3726
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3727
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
  3728
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3729
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3730
reference output:
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3731
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3732
 (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
  3733
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3734
  $ 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
  3735
  A d
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3736
    a (filelog !)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3737
    h (sidedata !)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3738
    h (upgraded !)
46618
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  3739
    h (upgraded-parallel !)
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3740
  $ 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
  3741
  A d
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3742
    a (filelog !)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3743
    a (sidedata !)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3744
    a (upgraded !)
46618
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  3745
    a (upgraded-parallel !)
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3746
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3747
Chained output
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3748
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3749
  $ 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
  3750
  A d
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3751
    a (filelog !)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3752
    h (sidedata !)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3753
    h (upgraded !)
46618
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  3754
    h (upgraded-parallel !)
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3755
  $ 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
  3756
  A d
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3757
    a (filelog !)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3758
    h (sidedata !)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3759
    h (upgraded !)
46618
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  3760
    h (upgraded-parallel !)
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3761
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3762
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3763
  $ 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
  3764
  A d
46563
c19c662097e1 copies: detect case when a merge decision overwrite previous data
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46561
diff changeset
  3765
    a (no-changeset no-compatibility !)
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3766
  $ 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
  3767
  A d
46563
c19c662097e1 copies: detect case when a merge decision overwrite previous data
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46561
diff changeset
  3768
    a (no-changeset no-compatibility !)
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
  3769
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
  3770
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
  3771
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
  3772
```````````````````````````````````````````````````````````````````````````````````
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
  3773
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
  3774
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
  3775
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
  3776
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
  3777
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
  3778
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
  3779
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
  3780
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
  3781
  $ 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
  3782
  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
  3783
    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
  3784
    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
  3785
    a (upgraded !)
46618
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  3786
    a (upgraded-parallel !)
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
  3787
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
  3788
  $ 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
  3789
  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
  3790
    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
  3791
    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
  3792
    a (upgraded !)
46618
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  3793
    a (upgraded-parallel !)
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
  3794
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
  3795
  $ 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
  3796
  A f
46563
c19c662097e1 copies: detect case when a merge decision overwrite previous data
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46561
diff changeset
  3797
    a (no-changeset no-compatibility !)
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
  3798
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
  3799
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
  3800
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
  3801
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
  3802
  $ 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
  3803
  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
  3804
    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
  3805
    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
  3806
    b (upgraded !)
46618
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  3807
    b (upgraded-parallel !)
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
  3808
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
  3809
  $ 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
  3810
  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
  3811
    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
  3812
    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
  3813
    b (upgraded !)
46618
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  3814
    b (upgraded-parallel !)
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
  3815
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
  3816
  $ 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
  3817
  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
  3818
    a (filelog !)
46563
c19c662097e1 copies: detect case when a merge decision overwrite previous data
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46561
diff changeset
  3819
    b (sidedata !)
c19c662097e1 copies: detect case when a merge decision overwrite previous data
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46561
diff changeset
  3820
    b (upgraded !)
46618
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  3821
    b (upgraded-parallel !)