tests/test-copies-chain-merge.t
author Pierre-Yves David <pierre-yves.david@octobus.net>
Mon, 03 May 2021 12:35:25 +0200
changeset 47252 2219853a1503
parent 47240 21b3e6116bd1
child 47274 6c84fc9c9a90
permissions -rw-r--r--
revlogv2: track pending write in the docket and expose it to hooks The docket is now able to write pending data. We could have used a distinct intermediate files, however keeping everything in the same file will make it simpler to keep track of the various involved files if necessary. However it might prove more complicated for streaming clone. This will be dealt with later. Note that we lifted the stderr redirection in the test since we no longer suffer from "unkown working directory parent" message. Differential Revision: https://phab.mercurial-scm.org/D10631
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
47105
bc7bdca15e47 test-copies: test that copies' sidedata can get computed during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47104
diff changeset
     1
#testcases filelog compatibility changeset sidedata upgraded upgraded-parallel pull push pull-upgrade push-upgrade
44858
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44688
diff changeset
     2
44327
f9dfb56ed6e8 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
44858
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44688
diff changeset
    11
44327
f9dfb56ed6e8 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
46596
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46595
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: 46595
diff changeset
    18
  > #!$PYTHON
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46595
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: 46595
diff changeset
    20
  > import sys
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46595
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: 46595
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: 46595
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: 46595
diff changeset
    24
  >     else:
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46595
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: 46595
diff changeset
    26
  >         print(l)
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46595
diff changeset
    27
  > EOF
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46595
diff changeset
    28
44327
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    29
  $ 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
    30
  > [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
    31
  > git=yes
45788
ed84a4d48910 config: add a new [command-templates] section for templates defined by hg
Martin von Zweigbergk <martinvonz@google.com>
parents: 45735
diff changeset
    32
  > [command-templates]
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
    33
  > log={desc}\n
44327
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    34
  > 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
    35
44858
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44688
diff changeset
    36
#if compatibility
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44688
diff changeset
    37
  $ cat >> $HGRCPATH << EOF
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44688
diff changeset
    38
  > [experimental]
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44688
diff changeset
    39
  > copies.read-from = compatibility
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44688
diff changeset
    40
  > EOF
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44688
diff changeset
    41
#endif
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44688
diff changeset
    42
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
    43
#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
    44
  $ 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
    45
  > [experimental]
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
    46
  > 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
    47
  > 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
    48
  > EOF
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
    49
#endif
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
    50
44858
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44688
diff changeset
    51
#if sidedata
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44688
diff changeset
    52
  $ cat >> $HGRCPATH << EOF
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44688
diff changeset
    53
  > [format]
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44688
diff changeset
    54
  > 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: 44688
diff changeset
    55
  > EOF
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44688
diff changeset
    56
#endif
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44688
diff changeset
    57
47102
573d817bcc1f test-copies: test that copies' sidedata does not get corrupted during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47101
diff changeset
    58
#if pull
573d817bcc1f test-copies: test that copies' sidedata does not get corrupted during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47101
diff changeset
    59
  $ cat >> $HGRCPATH << EOF
573d817bcc1f test-copies: test that copies' sidedata does not get corrupted during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47101
diff changeset
    60
  > [format]
573d817bcc1f test-copies: test that copies' sidedata does not get corrupted during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47101
diff changeset
    61
  > exp-use-copies-side-data-changeset = yes
573d817bcc1f test-copies: test that copies' sidedata does not get corrupted during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47101
diff changeset
    62
  > EOF
573d817bcc1f test-copies: test that copies' sidedata does not get corrupted during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47101
diff changeset
    63
#endif
573d817bcc1f test-copies: test that copies' sidedata does not get corrupted during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47101
diff changeset
    64
47103
fa5bc416b413 test-copies: test that copies' sidedata does not get corrupted during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47102
diff changeset
    65
#if push
fa5bc416b413 test-copies: test that copies' sidedata does not get corrupted during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47102
diff changeset
    66
  $ cat >> $HGRCPATH << EOF
fa5bc416b413 test-copies: test that copies' sidedata does not get corrupted during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47102
diff changeset
    67
  > [format]
fa5bc416b413 test-copies: test that copies' sidedata does not get corrupted during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47102
diff changeset
    68
  > exp-use-copies-side-data-changeset = yes
fa5bc416b413 test-copies: test that copies' sidedata does not get corrupted during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47102
diff changeset
    69
  > EOF
fa5bc416b413 test-copies: test that copies' sidedata does not get corrupted during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47102
diff changeset
    70
#endif
fa5bc416b413 test-copies: test that copies' sidedata does not get corrupted during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47102
diff changeset
    71
47104
f506adbe5ac1 test-copies: test that copies' sidedata can get computed during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47103
diff changeset
    72
#if pull-upgrade
f506adbe5ac1 test-copies: test that copies' sidedata can get computed during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47103
diff changeset
    73
  $ cat >> $HGRCPATH << EOF
f506adbe5ac1 test-copies: test that copies' sidedata can get computed during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47103
diff changeset
    74
  > [format]
f506adbe5ac1 test-copies: test that copies' sidedata can get computed during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47103
diff changeset
    75
  > exp-use-copies-side-data-changeset = no
f506adbe5ac1 test-copies: test that copies' sidedata can get computed during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47103
diff changeset
    76
  > [experimental]
f506adbe5ac1 test-copies: test that copies' sidedata can get computed during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47103
diff changeset
    77
  > changegroup4 = yes
f506adbe5ac1 test-copies: test that copies' sidedata can get computed during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47103
diff changeset
    78
  > EOF
f506adbe5ac1 test-copies: test that copies' sidedata can get computed during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47103
diff changeset
    79
#endif
f506adbe5ac1 test-copies: test that copies' sidedata can get computed during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47103
diff changeset
    80
47105
bc7bdca15e47 test-copies: test that copies' sidedata can get computed during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47104
diff changeset
    81
#if push-upgrade
bc7bdca15e47 test-copies: test that copies' sidedata can get computed during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47104
diff changeset
    82
  $ cat >> $HGRCPATH << EOF
bc7bdca15e47 test-copies: test that copies' sidedata can get computed during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47104
diff changeset
    83
  > [format]
bc7bdca15e47 test-copies: test that copies' sidedata can get computed during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47104
diff changeset
    84
  > exp-use-copies-side-data-changeset = no
bc7bdca15e47 test-copies: test that copies' sidedata can get computed during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47104
diff changeset
    85
  > [experimental]
bc7bdca15e47 test-copies: test that copies' sidedata can get computed during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47104
diff changeset
    86
  > changegroup4 = yes
bc7bdca15e47 test-copies: test that copies' sidedata can get computed during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47104
diff changeset
    87
  > EOF
bc7bdca15e47 test-copies: test that copies' sidedata can get computed during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47104
diff changeset
    88
#endif
44858
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44688
diff changeset
    89
46578
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46577
diff changeset
    90
  $ 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: 46577
diff changeset
    91
  > 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: 46577
diff changeset
    92
  > 
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46577
diff changeset
    93
  > 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: 46577
diff changeset
    94
  > 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: 46577
diff changeset
    95
  > 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: 46577
diff changeset
    96
  > about copies).
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46577
diff changeset
    97
  > EOF
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46577
diff changeset
    98
44327
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    99
  $ 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
   100
  $ 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
   101
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   102
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
   103
46578
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46577
diff changeset
   104
  $ 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: 46577
diff changeset
   105
  $ 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: 46577
diff changeset
   106
  $ cp ../same-content.txt h
46599
46205a478a08 test-copies: add 3 new files with their own content
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46598
diff changeset
   107
  $ 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: 46598
diff changeset
   108
  $ 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: 46598
diff changeset
   109
  $ echo "original content for R" > r
46649
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46607
diff changeset
   110
  $ hg ci -Am 'i-0 initial commit: a b h p q r'
44327
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   111
  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
   112
  adding b
44475
902b559202a6 copies-tests: add a `h` to the root commit (for chain merge tests)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44474
diff changeset
   113
  adding h
46599
46205a478a08 test-copies: add 3 new files with their own content
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46598
diff changeset
   114
  adding p
46205a478a08 test-copies: add 3 new files with their own content
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46598
diff changeset
   115
  adding q
46205a478a08 test-copies: add 3 new files with their own content
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46598
diff changeset
   116
  adding r
44327
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   117
  $ hg mv a c
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
   118
  $ hg mv p s
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
   119
  $ hg ci -Am 'i-1: a -move-> c, p -move-> s'
44327
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   120
  $ hg mv c d
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
   121
  $ hg mv s t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
   122
  $ hg ci -Am 'i-2: c -move-> d, s -move-> t'
44327
f9dfb56ed6e8 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
  $ hg log -G
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
   124
  @  i-2: c -move-> d, s -move-> t
44327
f9dfb56ed6e8 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
  |
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
   126
  o  i-1: a -move-> c, p -move-> s
44327
f9dfb56ed6e8 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
  |
46649
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46607
diff changeset
   128
  o  i-0 initial commit: a b h p q r
44327
f9dfb56ed6e8 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
  
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   130
44471
68e14fecd82a copies-tests: swap two branch description
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44464
diff changeset
   131
And having another branch with renames on the other side
44327
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   132
f9dfb56ed6e8 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
  $ 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
   134
  $ 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
   135
  $ 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
   136
  $ 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
   137
  $ hg log -G --rev '::.'
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
   138
  @  a-2: e -move-> f
44327
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   139
  |
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
   140
  o  a-1: d -move-> e
44327
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   141
  |
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
   142
  o  i-2: c -move-> d, s -move-> t
44327
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   143
  |
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
   144
  o  i-1: a -move-> c, p -move-> s
44327
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   145
  |
46649
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46607
diff changeset
   146
  o  i-0 initial commit: a b h p q r
44327
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   147
  
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   148
44471
68e14fecd82a copies-tests: swap two branch description
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44464
diff changeset
   149
Have a branching with nothing on one side
44327
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   150
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   151
  $ 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
   152
  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
   153
  $ 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
   154
  $ 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
   155
  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
   156
  $ hg log -G --rev '::.'
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
   157
  @  b-1: b update
44327
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   158
  |
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
   159
  o  i-2: c -move-> d, s -move-> t
44327
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   160
  |
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
   161
  o  i-1: a -move-> c, p -move-> s
44327
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   162
  |
46649
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46607
diff changeset
   163
  o  i-0 initial commit: a b h p q r
44327
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   164
  
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   165
44678
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44664
diff changeset
   166
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: 44664
diff changeset
   167
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44664
diff changeset
   168
  $ 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: 44664
diff changeset
   169
  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: 44664
diff changeset
   170
  $ 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: 44664
diff changeset
   171
  $ 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: 44664
diff changeset
   172
  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: 44664
diff changeset
   173
  $ hg log -G --rev '::.'
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
   174
  @  c-1 delete d
44678
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44664
diff changeset
   175
  |
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
   176
  o  i-2: c -move-> d, s -move-> t
44678
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44664
diff changeset
   177
  |
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
   178
  o  i-1: a -move-> c, p -move-> s
44678
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44664
diff changeset
   179
  |
46649
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46607
diff changeset
   180
  o  i-0 initial commit: a b h p q r
44678
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44664
diff changeset
   181
  
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44664
diff changeset
   182
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44664
diff changeset
   183
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: 44664
diff changeset
   184
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44664
diff changeset
   185
  $ 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: 44664
diff changeset
   186
  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: 44664
diff changeset
   187
  $ 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: 44664
diff changeset
   188
  $ 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: 44664
diff changeset
   189
  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: 44664
diff changeset
   190
  $ 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: 44664
diff changeset
   191
  $ 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: 44664
diff changeset
   192
  $ 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: 44664
diff changeset
   193
  $ hg log -G --rev '::.'
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
   194
  @  d-2 re-add d
44678
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44664
diff changeset
   195
  |
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
   196
  o  d-1 delete d
44678
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44664
diff changeset
   197
  |
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
   198
  o  i-2: c -move-> d, s -move-> t
44678
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44664
diff changeset
   199
  |
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
   200
  o  i-1: a -move-> c, p -move-> s
44678
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44664
diff changeset
   201
  |
46649
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46607
diff changeset
   202
  o  i-0 initial commit: a b h p q r
44678
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44664
diff changeset
   203
  
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44664
diff changeset
   204
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44664
diff changeset
   205
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: 44664
diff changeset
   206
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44664
diff changeset
   207
  $ 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: 44664
diff changeset
   208
  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: 44664
diff changeset
   209
  $ 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: 44664
diff changeset
   210
  $ 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: 44664
diff changeset
   211
  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: 44664
diff changeset
   212
  $ 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: 44664
diff changeset
   213
  $ 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: 44664
diff changeset
   214
  $ hg log -G --rev '::.'
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
   215
  @  e-2 g -move-> f
44678
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44664
diff changeset
   216
  |
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
   217
  o  e-1 b -move-> g
44678
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44664
diff changeset
   218
  |
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
   219
  o  i-2: c -move-> d, s -move-> t
44678
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44664
diff changeset
   220
  |
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
   221
  o  i-1: a -move-> c, p -move-> s
44678
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44664
diff changeset
   222
  |
46649
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46607
diff changeset
   223
  o  i-0 initial commit: a b h p q r
44678
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44664
diff changeset
   224
  
46601
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: 46600
diff changeset
   225
  $ 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: 46600
diff changeset
   226
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: 46600
diff changeset
   227
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: 46600
diff changeset
   228
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: 46600
diff changeset
   229
  $ 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: 46600
diff changeset
   230
  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: 46600
diff changeset
   231
  $ 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: 46600
diff changeset
   232
  $ 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: 46600
diff changeset
   233
  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: 46600
diff changeset
   234
  $ 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: 46600
diff changeset
   235
  $ 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: 46600
diff changeset
   236
  $ 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: 46600
diff changeset
   237
  @  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: 46600
diff changeset
   238
  |
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: 46600
diff changeset
   239
  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: 46600
diff changeset
   240
  |
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: 46600
diff changeset
   241
  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: 46600
diff changeset
   242
  |
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: 46600
diff changeset
   243
  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: 46600
diff changeset
   244
  |
46649
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46607
diff changeset
   245
  o  i-0 initial commit: a b h p q r
46601
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: 46600
diff changeset
   246
  
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: 46600
diff changeset
   247
  $ hg up -q null
44327
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   248
46602
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: 46601
diff changeset
   249
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: 46601
diff changeset
   250
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: 46601
diff changeset
   251
  $ 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: 46601
diff changeset
   252
  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: 46601
diff changeset
   253
  $ 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: 46601
diff changeset
   254
  $ 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: 46601
diff changeset
   255
  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: 46601
diff changeset
   256
  $ 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: 46601
diff changeset
   257
  $ 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: 46601
diff changeset
   258
  $ 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: 46601
diff changeset
   259
  @  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: 46601
diff changeset
   260
  |
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: 46601
diff changeset
   261
  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: 46601
diff changeset
   262
  |
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: 46601
diff changeset
   263
  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: 46601
diff changeset
   264
  |
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: 46601
diff changeset
   265
  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: 46601
diff changeset
   266
  |
46649
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46607
diff changeset
   267
  o  i-0 initial commit: a b h p q r
46602
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: 46601
diff changeset
   268
  
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: 46601
diff changeset
   269
  $ 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: 46601
diff changeset
   270
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   271
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
   272
===============
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   273
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   274
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
   275
information.
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   276
44679
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
   277
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: 44678
diff changeset
   278
---------------------------------------------------------------
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
   279
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
   280
- rename on one side
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
   281
- unrelated change on the other side
44327
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   282
46580
e20977208924 test-copies: improve description of the A+B case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46579
diff changeset
   283
  $ case_desc="simple merge - A side: multiple renames, B side: unrelated update"
46579
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46578
diff changeset
   284
44327
f9dfb56ed6e8 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
  $ hg up 'desc("b-1")'
46601
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: 46600
diff changeset
   286
  6 files updated, 0 files merged, 0 files removed, 0 files unresolved
44327
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   287
  $ 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
   288
  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
   289
  (branch merge, don't forget to commit)
46579
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46578
diff changeset
   290
  $ hg ci -m "mBAm-0 $case_desc - one way"
44327
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   291
  $ 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
   292
  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
   293
  $ 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
   294
  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
   295
  (branch merge, don't forget to commit)
46579
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46578
diff changeset
   296
  $ hg ci -m "mABm-0 $case_desc - the other way"
44327
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   297
  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
   298
  $ hg log -G --rev '::(desc("mABm")+desc("mBAm"))'
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
   299
  @    mABm-0 simple merge - A side: multiple renames, B side: unrelated update - the other way
44327
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   300
  |\
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
   301
  +---o  mBAm-0 simple merge - A side: multiple renames, B side: unrelated update - one way
44327
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   302
  | |/
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
   303
  | o  b-1: b update
44327
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   304
  | |
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
   305
  o |  a-2: e -move-> f
44327
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   306
  | |
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
   307
  o |  a-1: d -move-> e
44327
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   308
  |/
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
   309
  o  i-2: c -move-> d, s -move-> t
44327
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   310
  |
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
   311
  o  i-1: a -move-> c, p -move-> s
44327
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   312
  |
46649
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46607
diff changeset
   313
  o  i-0 initial commit: a b h p q r
44327
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   314
  
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   315
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   316
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   317
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
   318
-------------------------------------
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   319
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   320
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
   321
- 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
   322
- 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
   323
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
   324
46581
979838adc46b test-copies: improve description of the B+C case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46580
diff changeset
   325
  $ case_desc="simple merge - C side: delete a file with copies history , B side: unrelated update"
46579
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46578
diff changeset
   326
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
  $ 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
   328
  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
   329
  $ 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
   330
  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
   331
  (branch merge, don't forget to commit)
46579
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46578
diff changeset
   332
  $ 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
   333
  $ 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
   334
  $ 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
   335
  $ 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
   336
  $ 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
   337
  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
   338
  $ 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
   339
  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
   340
  (branch merge, don't forget to commit)
46579
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46578
diff changeset
   341
  $ 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
   342
  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
   343
  $ 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
   344
  $ 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
   345
  $ 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
   346
  $ hg log -G --rev '::(desc("mCBm")+desc("mBCm"))'
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
   347
  @  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
   348
  |
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
   349
  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
   350
  |\
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
   351
  | | 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
   352
  | | |
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
   353
  +---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
   354
  | |/
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
   355
  | 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
   356
  | |
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
   357
  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
   358
  |/
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
   359
  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
   360
  |
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
   361
  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
   362
  |
46649
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46607
diff changeset
   363
  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
   364
  
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   365
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   366
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
   367
---------------------------------------------------
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   368
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   369
Merge:
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   370
- 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
   371
- 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
   372
46582
9a58f9eed303 test-copies: improve description of the B+D case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46581
diff changeset
   373
  $ case_desc="simple merge - B side: unrelated update, D side: delete and recreate a file (with different content)"
46579
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46578
diff changeset
   374
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
  $ 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
   376
  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
   377
  $ 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
   378
  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
   379
  (branch merge, don't forget to commit)
46579
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46578
diff changeset
   380
  $ 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
   381
  $ 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
   382
  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
   383
  $ 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
   384
  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
   385
  (branch merge, don't forget to commit)
46579
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46578
diff changeset
   386
  $ 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
   387
  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
   388
  $ hg log -G --rev '::(desc("mDBm")+desc("mBDm"))'
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
   389
  @    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
   390
  |\
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
   391
  +---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
   392
  | |/
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
   393
  | 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
   394
  | |
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
   395
  | 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
   396
  | |
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
   397
  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
   398
  |/
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
   399
  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
   400
  |
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
   401
  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
   402
  |
46649
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46607
diff changeset
   403
  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
   404
  
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   405
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   406
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   407
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
   408
--------------------------------------------
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   409
46590
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46589
diff changeset
   410
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: 46589
diff changeset
   411
``````````````````````````````````````````
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46589
diff changeset
   412
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
- 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
   414
- 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
   415
46583
19f490690880 test-copies: improve description of the A+E case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46582
diff changeset
   416
  $ case_desc="merge with copies info on both side - A side: rename d to f, E side: b to f, (same content for f)"
46579
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46578
diff changeset
   417
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   418
  $ 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
   419
  2 files updated, 0 files merged, 1 files removed, 0 files unresolved
46577
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46538
diff changeset
   420
  $ 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: 46538
diff changeset
   421
  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: 46538
diff changeset
   422
  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
   423
  (branch merge, don't forget to commit)
46579
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46578
diff changeset
   424
  $ 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
   425
  $ hg up 'desc("e-2")'
46577
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46538
diff changeset
   426
  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: 46538
diff changeset
   427
  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: 46538
diff changeset
   428
  $ 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: 46538
diff changeset
   429
  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: 46538
diff changeset
   430
  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
   431
  (branch merge, don't forget to commit)
46579
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46578
diff changeset
   432
  $ 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
   433
  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
   434
  $ hg log -G --rev '::(desc("mAEm")+desc("mEAm"))'
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
   435
  @    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
   436
  |\
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
   437
  +---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
   438
  | |/
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
   439
  | 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
   440
  | |
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
   441
  | 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
   442
  | |
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
   443
  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
   444
  | |
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
   445
  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
   446
  |/
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
   447
  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
   448
  |
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
   449
  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
   450
  |
46649
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46607
diff changeset
   451
  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
   452
  
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   453
46603
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
   454
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: 46602
diff changeset
   455
`````````````````````````````````````````````````````````````````````````
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
   456
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
   457
- 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: 46602
diff changeset
   458
- 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: 46602
diff changeset
   459
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
   460
  $ 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: 46602
diff changeset
   461
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
   462
  $ 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: 46602
diff changeset
   463
  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: 46602
diff changeset
   464
  $ 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: 46602
diff changeset
   465
  merging v
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
   466
  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: 46602
diff changeset
   467
  (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: 46602
diff changeset
   468
  $ 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: 46602
diff changeset
   469
  $ 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: 46602
diff changeset
   470
  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: 46602
diff changeset
   471
  $ 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: 46602
diff changeset
   472
  merging v
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
   473
  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: 46602
diff changeset
   474
  (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: 46602
diff changeset
   475
  $ 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: 46602
diff changeset
   476
  created new head
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
   477
  $ 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: 46602
diff changeset
   478
  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: 46602
diff changeset
   479
  |\
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
   480
  +---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: 46602
diff changeset
   481
  | |/
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
   482
  | 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: 46602
diff changeset
   483
  | |
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
   484
  | 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: 46602
diff changeset
   485
  | |
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
   486
  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: 46602
diff changeset
   487
  | |
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
   488
  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: 46602
diff changeset
   489
  |/
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
   490
  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: 46602
diff changeset
   491
  |
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
   492
  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: 46602
diff changeset
   493
  |
46649
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46607
diff changeset
   494
  o  i-0 initial commit: a b h p q r
46603
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
   495
  
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
   496
46590
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46589
diff changeset
   497
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: 46589
diff changeset
   498
````````````````````````````````````````````````````````````
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   499
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   500
Merge:
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   501
- 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
   502
- 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
   503
46589
f8888f5c8c50 test-copies: improve description of the B+F case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46588
diff changeset
   504
  $ case_desc="simple merge - B side: unrelated change, F side: overwrite d with a copy (from h->i->d)"
46579
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46578
diff changeset
   505
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 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
   507
  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
   508
  $ 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
   509
  $ 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
   510
  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
   511
  $ 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
   512
  $ hg commit -m "f-2: rename i -> d"
47033
7383df4f6e19 tests: run python script through quoted interpreter instead of directly
Matt Harbison <matt_harbison@yahoo.com>
parents: 46884
diff changeset
   513
  $ hg debugindex d | "$PYTHON" ../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
   514
     rev linkrev nodeid       p1           p2
46596
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46595
diff changeset
   515
       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: 46595
diff changeset
   516
       0       * ae258f702dfe 000000000000 000000000000 (changeset !)
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46595
diff changeset
   517
       1       * b004912a8510 000000000000 000000000000
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46595
diff changeset
   518
       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
   519
  $ hg up 'desc("b-1")'
46577
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46538
diff changeset
   520
  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: 46538
diff changeset
   521
  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
   522
  $ hg merge 'desc("f-2")'
46577
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46538
diff changeset
   523
  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: 46538
diff changeset
   524
  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
   525
  (branch merge, don't forget to commit)
46579
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46578
diff changeset
   526
  $ 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
   527
  $ 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
   528
  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
   529
  $ 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
   530
  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
   531
  (branch merge, don't forget to commit)
46579
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46578
diff changeset
   532
  $ 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
   533
  created new head
46603
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
   534
  $ 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
   535
  $ hg log -G --rev '::(desc("mBFm")+desc("mFBm"))'
46603
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
   536
  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
   537
  |\
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
   538
  +---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
   539
  | |/
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
   540
  | 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
   541
  | |
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
   542
  | 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
   543
  | |
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
   544
  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
   545
  |/
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
   546
  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
   547
  |
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
   548
  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
   549
  |
46649
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46607
diff changeset
   550
  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
   551
  
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   552
46604
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46603
diff changeset
   553
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: 46603
diff changeset
   554
`````````````````````````````````````````````````````````````````````````````````````
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46603
diff changeset
   555
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46603
diff changeset
   556
Merge:
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46603
diff changeset
   557
- 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: 46603
diff changeset
   558
- 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: 46603
diff changeset
   559
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46603
diff changeset
   560
  $ 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: 46603
diff changeset
   561
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46603
diff changeset
   562
  $ 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: 46603
diff changeset
   563
  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: 46603
diff changeset
   564
  $ 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: 46603
diff changeset
   565
  $ 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: 46603
diff changeset
   566
  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: 46603
diff changeset
   567
  $ 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: 46603
diff changeset
   568
  $ hg commit -m "r-2: rename t -> x"
47033
7383df4f6e19 tests: run python script through quoted interpreter instead of directly
Matt Harbison <matt_harbison@yahoo.com>
parents: 46884
diff changeset
   569
  $ hg debugindex t | "$PYTHON" ../no-linkrev
46604
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46603
diff changeset
   570
     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: 46603
diff changeset
   571
       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: 46603
diff changeset
   572
       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: 46603
diff changeset
   573
       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: 46603
diff changeset
   574
       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: 46603
diff changeset
   575
  $ 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: 46603
diff changeset
   576
  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: 46603
diff changeset
   577
  $ 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: 46603
diff changeset
   578
  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: 46603
diff changeset
   579
  (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: 46603
diff changeset
   580
  $ 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: 46603
diff changeset
   581
  $ 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: 46603
diff changeset
   582
  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: 46603
diff changeset
   583
  $ 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: 46603
diff changeset
   584
  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: 46603
diff changeset
   585
  (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: 46603
diff changeset
   586
  $ 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: 46603
diff changeset
   587
  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: 46603
diff changeset
   588
  $ 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: 46603
diff changeset
   589
  $ 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: 46603
diff changeset
   590
  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: 46603
diff changeset
   591
  |\
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46603
diff changeset
   592
  +---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: 46603
diff changeset
   593
  | |/
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46603
diff changeset
   594
  | 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: 46603
diff changeset
   595
  | |
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46603
diff changeset
   596
  | 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: 46603
diff changeset
   597
  | |
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46603
diff changeset
   598
  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: 46603
diff changeset
   599
  |/
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46603
diff changeset
   600
  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: 46603
diff changeset
   601
  |
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46603
diff changeset
   602
  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: 46603
diff changeset
   603
  |
46649
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46607
diff changeset
   604
  o  i-0 initial commit: a b h p q r
46604
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46603
diff changeset
   605
  
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46603
diff changeset
   606
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   607
46590
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46589
diff changeset
   608
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: 46589
diff changeset
   609
``````````````````````````````````````````````
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46589
diff changeset
   610
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   611
Merge:
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   612
- 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
   613
- 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
   614
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   615
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
   616
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
   617
46584
1e96fdcc8bc1 test-copies: improve description of the D+G case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46583
diff changeset
   618
  $ case_desc="actual content merge, copies on one side - D side: delete and re-add (different content), G side: update content"
46579
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46578
diff changeset
   619
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   620
  $ hg up 'desc("i-2")'
46603
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
   621
  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
   622
  $ 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
   623
  $ 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
   624
  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
   625
  $ 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
   626
  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
   627
  $ 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
   628
  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
   629
  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
   630
  (branch merge, don't forget to commit)
46579
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46578
diff changeset
   631
  $ 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
   632
  $ 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
   633
  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
   634
  $ 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
   635
  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
   636
  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
   637
  (branch merge, don't forget to commit)
46579
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46578
diff changeset
   638
  $ 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
   639
  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
   640
  $ hg log -G --rev '::(desc("mDGm")+desc("mGDm"))'
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
   641
  @    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
   642
  |\
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
   643
  +---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
   644
  | |/
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
   645
  | 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
   646
  | |
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
   647
  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
   648
  | |
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
   649
  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
   650
  |/
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
   651
  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
   652
  |
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
   653
  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
   654
  |
46649
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46607
diff changeset
   655
  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
   656
  
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   657
46590
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46589
diff changeset
   658
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: 46589
diff changeset
   659
````````````````````````````````````````````````````````````````````````````````````````````
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   660
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   661
Merge:
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   662
- 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
   663
- 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
   664
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   665
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
   666
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
   667
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   668
Note:
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   669
| 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
   670
| "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
   671
|
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   672
| 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
   673
46585
2f99dedf96b1 test-copies: improve description of the G+F case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46584
diff changeset
   674
  $ case_desc="merge - G side: content change, F side: copy overwrite, no content change"
46579
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46578
diff changeset
   675
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
  $ 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
   677
  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
   678
  $ hg merge 'desc("g-1")' --tool :union
46577
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46538
diff changeset
   679
  merging d (no-changeset !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46538
diff changeset
   680
  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: 46538
diff changeset
   681
  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
   682
  (branch merge, don't forget to commit)
46579
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46578
diff changeset
   683
  $ 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
   684
  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
   685
  $ hg up 'desc("g-1")'
46577
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46538
diff changeset
   686
  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: 46538
diff changeset
   687
  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
   688
  $ hg merge 'desc("f-2")' --tool :union
46577
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46538
diff changeset
   689
  merging d (no-changeset !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46538
diff changeset
   690
  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: 46538
diff changeset
   691
  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
   692
  (branch merge, don't forget to commit)
46579
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46578
diff changeset
   693
  $ 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
   694
  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
   695
  $ hg log -G --rev '::(desc("mGFm")+desc("mFGm"))'
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
   696
  @    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
   697
  |\
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
   698
  +---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
   699
  | |/
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
   700
  | 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
   701
  | |
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
   702
  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
   703
  | |
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
   704
  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
   705
  |/
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
   706
  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
   707
  |
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
   708
  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
   709
  |
46649
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46607
diff changeset
   710
  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
   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
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   713
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   714
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
   715
-------------------------------------------------------------
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   716
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   717
Merge:
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   718
- 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
   719
- 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
   720
- 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
   721
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   722
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
   723
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
   724
46586
a1a06dca6941 test-copies: improve description of the G+C case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46585
diff changeset
   725
  $ 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: 46585
diff changeset
   726
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   727
  $ 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
   728
  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
   729
  $ 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
   730
  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
   731
  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
   732
  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
   733
  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
   734
  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
   735
  [1]
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   736
  $ 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
   737
  (no more unresolved files)
46586
a1a06dca6941 test-copies: improve description of the G+C case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46585
diff changeset
   738
  $ 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
   739
  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
   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
  $ 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
   742
  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
   743
  $ 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
   744
  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
   745
  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
   746
  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
   747
  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
   748
  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
   749
  [1]
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   750
  $ 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
   751
  (no more unresolved files)
46586
a1a06dca6941 test-copies: improve description of the G+C case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46585
diff changeset
   752
  $ 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
   753
  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
   754
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   755
  $ hg log -G --rev '::(desc("mCGm")+desc("mGCm"))'
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
   756
  @    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
   757
  |\
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
   758
  +---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
   759
  | |/
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
   760
  | 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
   761
  | |
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
   762
  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
   763
  |/
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
   764
  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
   765
  |
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
   766
  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
   767
  |
46649
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46607
diff changeset
   768
  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
   769
  
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   770
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   771
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   772
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   773
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
   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
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   776
Merge:
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   777
- 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
   778
- 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
   779
- 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
   780
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   781
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
   782
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
   783
46587
311a18777f45 test-copies: improve description of the B+C "revert/restore" case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46586
diff changeset
   784
  $ 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: 46586
diff changeset
   785
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   786
  $ 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
   787
  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
   788
  $ 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
   789
  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
   790
  (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
   791
  $ hg revert --rev 'desc("b-1")' d
46587
311a18777f45 test-copies: improve description of the B+C "revert/restore" case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46586
diff changeset
   792
  $ 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
   793
  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
   794
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   795
  $ 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
   796
  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
   797
  $ 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
   798
  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
   799
  (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
   800
  $ hg revert --rev 'desc("b-1")' d
46587
311a18777f45 test-copies: improve description of the B+C "revert/restore" case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46586
diff changeset
   801
  $ 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
   802
  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
   803
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   804
  $ hg log -G --rev '::(desc("mCB-revert-m")+desc("mBC-revert-m"))'
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
   805
  @    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
   806
  |\
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
   807
  +---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
   808
  | |/
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
   809
  | 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
   810
  | |
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
   811
  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
   812
  |/
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
   813
  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
   814
  |
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
   815
  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
   816
  |
46649
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46607
diff changeset
   817
  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
   818
  
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   819
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   820
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   821
  $ 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
   822
45821
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45801
diff changeset
   823
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: 45801
diff changeset
   824
------------------------------------------------------------------------------------------
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45801
diff changeset
   825
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45801
diff changeset
   826
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: 45801
diff changeset
   827
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: 45801
diff changeset
   828
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45801
diff changeset
   829
(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: 45801
diff changeset
   830
46588
60c52bdb1784 test-copies: improve description of the C+H case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46587
diff changeset
   831
  $ 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: 46587
diff changeset
   832
45821
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45801
diff changeset
   833
  $ hg up 'desc("i-0")'
46599
46205a478a08 test-copies: add 3 new files with their own content
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46598
diff changeset
   834
  6 files updated, 0 files merged, 0 files removed, 0 files unresolved
45821
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45801
diff changeset
   835
  $ 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: 45801
diff changeset
   836
  $ 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: 45801
diff changeset
   837
  created new head
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45801
diff changeset
   838
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45801
diff changeset
   839
  $ hg up 'desc("c-1")'
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
   840
  2 files updated, 0 files merged, 3 files removed, 0 files unresolved
45821
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45801
diff changeset
   841
  $ 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: 45801
diff changeset
   842
  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: 45801
diff changeset
   843
  (branch merge, don't forget to commit)
46588
60c52bdb1784 test-copies: improve description of the C+H case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46587
diff changeset
   844
  $ hg ci -m "mCH-delete-before-conflict-m-0 $case_desc - one way"
45821
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45801
diff changeset
   845
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45801
diff changeset
   846
  $ hg up 'desc("h-1")'
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
   847
  2 files updated, 0 files merged, 1 files removed, 0 files unresolved
45821
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45801
diff changeset
   848
  $ hg merge 'desc("c-1")'
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
   849
  1 files updated, 0 files merged, 2 files removed, 0 files unresolved
45821
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45801
diff changeset
   850
  (branch merge, don't forget to commit)
46588
60c52bdb1784 test-copies: improve description of the C+H case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46587
diff changeset
   851
  $ hg ci -m "mHC-delete-before-conflict-m-0 $case_desc - the other way"
45821
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45801
diff changeset
   852
  created new head
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45801
diff changeset
   853
  $ hg log -G --rev '::(desc("mCH-delete-before-conflict-m")+desc("mHC-delete-before-conflict-m"))'
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
   854
  @    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
45821
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45801
diff changeset
   855
  |\
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
   856
  +---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
45821
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45801
diff changeset
   857
  | |/
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
   858
  | o  h-1: b -(move)-> d
45821
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45801
diff changeset
   859
  | |
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
   860
  o |  c-1 delete d
45821
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45801
diff changeset
   861
  | |
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
   862
  o |  i-2: c -move-> d, s -move-> t
45821
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45801
diff changeset
   863
  | |
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
   864
  o |  i-1: a -move-> c, p -move-> s
45821
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45801
diff changeset
   865
  |/
46649
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46607
diff changeset
   866
  o  i-0 initial commit: a b h p q r
45821
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45801
diff changeset
   867
  
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45801
diff changeset
   868
46597
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46596
diff changeset
   869
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: 46596
diff changeset
   870
--------------------------------------------------------------
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46596
diff changeset
   871
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46596
diff changeset
   872
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: 46596
diff changeset
   873
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46596
diff changeset
   874
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46596
diff changeset
   875
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: 46596
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: 46596
diff changeset
   877
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46596
diff changeset
   878
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: 46596
diff changeset
   879
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46596
diff changeset
   880
- 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: 46596
diff changeset
   881
- 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: 46596
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: 46596
diff changeset
   883
  $ 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: 46596
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: 46596
diff changeset
   885
  $ 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: 46596
diff changeset
   886
  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: 46596
diff changeset
   887
  $ 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: 46596
diff changeset
   888
  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: 46596
diff changeset
   889
  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: 46596
diff changeset
   890
  (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: 46596
diff changeset
   891
  $ 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: 46596
diff changeset
   892
  $ 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: 46596
diff changeset
   893
  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: 46596
diff changeset
   894
  $ 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: 46596
diff changeset
   895
  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: 46596
diff changeset
   896
  $ 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: 46596
diff changeset
   897
  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: 46596
diff changeset
   898
  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: 46596
diff changeset
   899
  (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: 46596
diff changeset
   900
  $ 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: 46596
diff changeset
   901
  $ 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: 46596
diff changeset
   902
  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: 46596
diff changeset
   903
  $ 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: 46596
diff changeset
   904
  @    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: 46596
diff changeset
   905
  |\
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46596
diff changeset
   906
  +---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: 46596
diff changeset
   907
  | |/
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46596
diff changeset
   908
  | 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: 46596
diff changeset
   909
  | |
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46596
diff changeset
   910
  | 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: 46596
diff changeset
   911
  | |
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46596
diff changeset
   912
  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: 46596
diff changeset
   913
  | |
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46596
diff changeset
   914
  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: 46596
diff changeset
   915
  |/
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
   916
  o  i-2: c -move-> d, s -move-> t
46597
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46596
diff changeset
   917
  |
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
   918
  o  i-1: a -move-> c, p -move-> s
46597
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46596
diff changeset
   919
  |
46649
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46607
diff changeset
   920
  o  i-0 initial commit: a b h p q r
46597
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46596
diff changeset
   921
  
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46596
diff changeset
   922
46795
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46719
diff changeset
   923
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: 46719
diff changeset
   924
````````````````````````````````````````````````````````````````````````````````````````
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46719
diff changeset
   925
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46719
diff changeset
   926
Merge:
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46719
diff changeset
   927
- 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: 46719
diff changeset
   928
- 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: 46719
diff changeset
   929
- 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: 46719
diff changeset
   930
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46719
diff changeset
   931
  $ 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: 46719
diff changeset
   932
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46719
diff changeset
   933
  $ 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: 46719
diff changeset
   934
  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: 46719
diff changeset
   935
#if no-changeset
47033
7383df4f6e19 tests: run python script through quoted interpreter instead of directly
Matt Harbison <matt_harbison@yahoo.com>
parents: 46884
diff changeset
   936
  $ hg debugindex d | "$PYTHON" ../no-linkrev
46795
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46719
diff changeset
   937
     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: 46719
diff changeset
   938
       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: 46719
diff changeset
   939
       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: 46719
diff changeset
   940
       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: 46719
diff changeset
   941
       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: 46719
diff changeset
   942
       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: 46719
diff changeset
   943
       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: 46719
diff changeset
   944
       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: 46719
diff changeset
   945
       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: 46719
diff changeset
   946
#else
47033
7383df4f6e19 tests: run python script through quoted interpreter instead of directly
Matt Harbison <matt_harbison@yahoo.com>
parents: 46884
diff changeset
   947
  $ hg debugindex d | "$PYTHON" ../no-linkrev
46795
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46719
diff changeset
   948
     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: 46719
diff changeset
   949
       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: 46719
diff changeset
   950
       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: 46719
diff changeset
   951
       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: 46719
diff changeset
   952
       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: 46719
diff changeset
   953
       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: 46719
diff changeset
   954
#endif
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46719
diff changeset
   955
  $ 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: 46719
diff changeset
   956
  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: 46719
diff changeset
   957
  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: 46719
diff changeset
   958
  $ 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: 46719
diff changeset
   959
  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: 46719
diff changeset
   960
  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: 46719
diff changeset
   961
  (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: 46719
diff changeset
   962
  $ 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: 46719
diff changeset
   963
  $ 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: 46719
diff changeset
   964
  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: 46719
diff changeset
   965
  $ 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: 46719
diff changeset
   966
  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: 46719
diff changeset
   967
  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: 46719
diff changeset
   968
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46719
diff changeset
   969
  $ 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: 46719
diff changeset
   970
  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: 46719
diff changeset
   971
  $ 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: 46719
diff changeset
   972
  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: 46719
diff changeset
   973
  (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: 46719
diff changeset
   974
  $ 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: 46719
diff changeset
   975
  $ 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: 46719
diff changeset
   976
  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: 46719
diff changeset
   977
  $ 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: 46795
diff changeset
   978
  1c334238bd42ec85c6a0d83fd1b2a898a6a3215d 644   d (no-changeset !)
46795
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46719
diff changeset
   979
  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: 46719
diff changeset
   980
#if no-changeset
47033
7383df4f6e19 tests: run python script through quoted interpreter instead of directly
Matt Harbison <matt_harbison@yahoo.com>
parents: 46884
diff changeset
   981
  $ hg debugindex d | "$PYTHON" ../no-linkrev
46795
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46719
diff changeset
   982
     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: 46719
diff changeset
   983
       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: 46719
diff changeset
   984
       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: 46719
diff changeset
   985
       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: 46719
diff changeset
   986
       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: 46719
diff changeset
   987
       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: 46719
diff changeset
   988
       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: 46719
diff changeset
   989
       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: 46719
diff changeset
   990
       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: 46719
diff changeset
   991
       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: 46719
diff changeset
   992
#else
47033
7383df4f6e19 tests: run python script through quoted interpreter instead of directly
Matt Harbison <matt_harbison@yahoo.com>
parents: 46884
diff changeset
   993
  $ hg debugindex d | "$PYTHON" ../no-linkrev
46795
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46719
diff changeset
   994
     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: 46719
diff changeset
   995
       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: 46719
diff changeset
   996
       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: 46719
diff changeset
   997
       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: 46719
diff changeset
   998
       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: 46719
diff changeset
   999
       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: 46719
diff changeset
  1000
       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: 46719
diff changeset
  1001
#endif
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46719
diff changeset
  1002
  $ 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: 46719
diff changeset
  1003
  @    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: 46719
diff changeset
  1004
  |\
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46719
diff changeset
  1005
  +---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: 46719
diff changeset
  1006
  | |/
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46719
diff changeset
  1007
  | 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: 46719
diff changeset
  1008
  | |
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46719
diff changeset
  1009
  | 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: 46719
diff changeset
  1010
  | |
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46719
diff changeset
  1011
  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: 46719
diff changeset
  1012
  |/
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46719
diff changeset
  1013
  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: 46719
diff changeset
  1014
  |
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46719
diff changeset
  1015
  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: 46719
diff changeset
  1016
  |
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46719
diff changeset
  1017
  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: 46719
diff changeset
  1018
  
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46719
diff changeset
  1019
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
  1020
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
  1021
````````````````````````````````````````````````````````````````
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
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
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
  1024
- 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
  1025
- 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
  1026
- 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
  1027
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
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
  1029
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
  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
  $ 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
  1032
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
  $ 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
  1034
  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
  1035
  $ 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
  1036
  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
  1037
  (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
  1038
  $ 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
  1039
  $ 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
  1040
  $ 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
  1041
  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
  1042
  $ 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
  1043
  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
  1044
  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
  1045
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
  $ 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
  1047
  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
  1048
  $ 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
  1049
  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
  1050
  (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
  1051
  $ 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
  1052
  $ 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
  1053
  $ 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
  1054
  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
  1055
  $ 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
  1056
  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
  1057
  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
  1058
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  1059
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  1060
  $ 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
  1061
  $ 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
  1062
  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
  1063
  |\
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  1064
  +---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
  1065
  | |/
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
  | 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
  1067
  | |
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  1068
  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
  1069
  |/
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  1070
  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
  1071
  |
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  1072
  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
  1073
  |
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  1074
  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
  1075
  
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  1076
46591
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  1077
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: 46590
diff changeset
  1078
------------------------------------------------------------------
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  1079
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  1080
Subcase: chaining conflicting rename resolution
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  1081
```````````````````````````````````````````````
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  1082
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  1083
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: 46590
diff changeset
  1084
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: 46590
diff changeset
  1085
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: 46590
diff changeset
  1086
about that file should stay unchanged.
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  1087
46812
e4696ba43ecd test-copies: show some wrong ChangedFiles upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46811
diff changeset
  1088
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
  1089
46591
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  1090
  $ 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: 46590
diff changeset
  1091
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  1092
(extra unrelated changes)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  1093
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  1094
  $ 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
  1095
  6 files updated, 0 files merged, 0 files removed, 0 files unresolved
46591
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  1096
  $ echo j > unrelated-j
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  1097
  $ hg add unrelated-j
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  1098
  $ 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: 46590
diff changeset
  1099
  created new head
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  1100
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  1101
  $ hg up 'desc("e-2")'
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  1102
  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: 46590
diff changeset
  1103
  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: 46590
diff changeset
  1104
  $ echo k > unrelated-k
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  1105
  $ hg add unrelated-k
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  1106
  $ 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: 46590
diff changeset
  1107
  created new head
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  1108
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  1109
(merge variant 1)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  1110
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  1111
  $ hg up 'desc("mAEm")'
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  1112
  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: 46590
diff changeset
  1113
  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: 46590
diff changeset
  1114
  $ hg merge 'desc("k-1")'
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  1115
  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: 46590
diff changeset
  1116
  (branch merge, don't forget to commit)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  1117
  $ hg ci -m "mAE,Km: $case_desc"
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  1118
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  1119
(merge variant 2)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  1120
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  1121
  $ hg up 'desc("k-1")'
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  1122
  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: 46590
diff changeset
  1123
  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: 46590
diff changeset
  1124
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  1125
  $ hg merge 'desc("mAEm")'
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  1126
  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: 46590
diff changeset
  1127
  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: 46590
diff changeset
  1128
  (branch merge, don't forget to commit)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  1129
  $ hg ci -m "mK,AEm: $case_desc"
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  1130
  created new head
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  1131
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  1132
(merge variant 3)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  1133
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  1134
  $ hg up 'desc("mEAm")'
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  1135
  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: 46590
diff changeset
  1136
  $ hg merge 'desc("j-1")'
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  1137
  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: 46590
diff changeset
  1138
  (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
  1139
  $ echo jj > unrelated-j
46591
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  1140
  $ hg ci -m "mEA,Jm: $case_desc"
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  1141
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  1142
(merge variant 4)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  1143
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  1144
  $ 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
  1145
  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
  1146
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved (changeset !)
46591
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  1147
  $ hg merge 'desc("mEAm")'
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  1148
  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: 46590
diff changeset
  1149
  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: 46590
diff changeset
  1150
  (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
  1151
  $ echo jj > unrelated-j
46591
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  1152
  $ hg ci -m "mJ,EAm: $case_desc"
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  1153
  created new head
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  1154
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  1155
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  1156
  $ hg log -G --rev '::(desc("mAE,Km") + desc("mK,AEm") + desc("mEA,Jm") + desc("mJ,EAm"))'
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  1157
  @    mJ,EAm: chained merges (conflict -> simple) - same content everywhere
46591
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  1158
  |\
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  1159
  +---o  mEA,Jm: chained merges (conflict -> simple) - same content everywhere
46591
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  1160
  | |/
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  1161
  | | o    mK,AEm: chained merges (conflict -> simple) - same content everywhere
46591
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  1162
  | | |\
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  1163
  | | +---o  mAE,Km: chained merges (conflict -> simple) - same content everywhere
46591
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  1164
  | | | |/
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  1165
  | | | o  k-1: unrelated changes (based on "e" changes)
46591
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  1166
  | | | |
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  1167
  | o | |  j-1: unrelated changes (based on the "a" series of changes)
46591
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  1168
  | | | |
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  1169
  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
46591
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  1170
  |/ / /
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  1171
  | 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
46591
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  1172
  |/|/
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  1173
  | o  e-2 g -move-> f
46591
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  1174
  | |
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  1175
  | o  e-1 b -move-> g
46591
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  1176
  | |
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  1177
  o |  a-2: e -move-> f
46591
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  1178
  | |
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  1179
  o |  a-1: d -move-> e
46591
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  1180
  |/
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  1181
  o  i-2: c -move-> d, s -move-> t
46591
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  1182
  |
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  1183
  o  i-1: a -move-> c, p -move-> s
46591
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  1184
  |
46649
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46607
diff changeset
  1185
  o  i-0 initial commit: a b h p q r
46591
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  1186
  
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  1187
46605
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  1188
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: 46604
diff changeset
  1189
``````````````````````````````````````````````````````````````````````````````
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  1190
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  1191
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: 46604
diff changeset
  1192
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: 46604
diff changeset
  1193
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: 46604
diff changeset
  1194
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: 46604
diff changeset
  1195
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  1196
  $ 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: 46604
diff changeset
  1197
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  1198
(extra unrelated changes)
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  1199
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  1200
  $ 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: 46604
diff changeset
  1201
  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: 46604
diff changeset
  1202
  $ 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: 46604
diff changeset
  1203
  $ 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: 46604
diff changeset
  1204
  $ 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: 46604
diff changeset
  1205
  created new head
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  1206
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  1207
  $ 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: 46604
diff changeset
  1208
  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: 46604
diff changeset
  1209
  $ 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: 46604
diff changeset
  1210
  $ 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: 46604
diff changeset
  1211
  $ 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: 46604
diff changeset
  1212
  created new head
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  1213
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  1214
(merge variant 1)
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  1215
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  1216
  $ 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: 46604
diff changeset
  1217
  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: 46604
diff changeset
  1218
  $ 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: 46604
diff changeset
  1219
  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: 46604
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: 46604
diff changeset
  1221
  $ 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: 46604
diff changeset
  1222
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  1223
(merge variant 2)
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  1224
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  1225
  $ 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: 46604
diff changeset
  1226
  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: 46604
diff changeset
  1227
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  1228
  $ 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: 46604
diff changeset
  1229
  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: 46604
diff changeset
  1230
  (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: 46604
diff changeset
  1231
  $ 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: 46604
diff changeset
  1232
  created new head
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  1233
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  1234
(merge variant 3)
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  1235
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  1236
  $ 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: 46604
diff changeset
  1237
  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: 46604
diff changeset
  1238
  $ 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: 46604
diff changeset
  1239
  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: 46604
diff changeset
  1240
  (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: 46604
diff changeset
  1241
  $ 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: 46604
diff changeset
  1242
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  1243
(merge variant 4)
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  1244
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  1245
  $ 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: 46604
diff changeset
  1246
  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: 46604
diff changeset
  1247
  $ 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: 46604
diff changeset
  1248
  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: 46604
diff changeset
  1249
  (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: 46604
diff changeset
  1250
  $ 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: 46604
diff changeset
  1251
  created new head
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  1252
  $ 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: 46604
diff changeset
  1253
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  1254
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  1255
  $ 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: 46604
diff changeset
  1256
  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: 46604
diff changeset
  1257
  |\
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  1258
  +---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: 46604
diff changeset
  1259
  | |/
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  1260
  | | 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: 46604
diff changeset
  1261
  | | |\
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  1262
  | | +---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: 46604
diff changeset
  1263
  | | | |/
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  1264
  | | | 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: 46604
diff changeset
  1265
  | | | |
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  1266
  | 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: 46604
diff changeset
  1267
  | | | |
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  1268
  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: 46604
diff changeset
  1269
  |/ / /
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  1270
  | 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: 46604
diff changeset
  1271
  |/|/
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  1272
  | 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: 46604
diff changeset
  1273
  | |
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  1274
  | 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: 46604
diff changeset
  1275
  | |
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  1276
  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: 46604
diff changeset
  1277
  | |
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  1278
  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: 46604
diff changeset
  1279
  |/
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  1280
  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: 46604
diff changeset
  1281
  |
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  1282
  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: 46604
diff changeset
  1283
  |
46649
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46607
diff changeset
  1284
  o  i-0 initial commit: a b h p q r
46605
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  1285
  
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  1286
46592
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  1287
Subcase: chaining salvage information during a merge
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  1288
````````````````````````````````````````````````````
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  1289
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  1290
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: 46591
diff changeset
  1291
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: 46591
diff changeset
  1292
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  1293
  $ 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: 46591
diff changeset
  1294
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  1295
(creating the change)
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  1296
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  1297
  $ hg up 'desc("c-1")'
46605
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  1298
  5 files updated, 0 files merged, 0 files removed, 0 files unresolved
46592
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  1299
  $ echo l > unrelated-l
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  1300
  $ hg add unrelated-l
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  1301
  $ 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: 46591
diff changeset
  1302
  created new head
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  1303
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  1304
(Merge variant 1)
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  1305
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  1306
  $ hg up 'desc("mBC-revert-m")'
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  1307
  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: 46591
diff changeset
  1308
  $ hg merge 'desc("l-1")'
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  1309
  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: 46591
diff changeset
  1310
  (branch merge, don't forget to commit)
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  1311
  $ 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: 46591
diff changeset
  1312
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  1313
(Merge variant 2)
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  1314
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  1315
  $ hg up 'desc("mCB-revert-m")'
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  1316
  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: 46591
diff changeset
  1317
  $ hg merge 'desc("l-1")'
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  1318
  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: 46591
diff changeset
  1319
  (branch merge, don't forget to commit)
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  1320
  $ 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: 46591
diff changeset
  1321
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  1322
(Merge variant 3)
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  1323
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  1324
  $ hg up 'desc("l-1")'
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  1325
  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: 46591
diff changeset
  1326
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  1327
  $ hg merge 'desc("mBC-revert-m")'
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  1328
  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: 46591
diff changeset
  1329
  (branch merge, don't forget to commit)
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  1330
  $ 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: 46591
diff changeset
  1331
  created new head
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  1332
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  1333
(Merge variant 4)
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  1334
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  1335
  $ hg up 'desc("l-1")'
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  1336
  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: 46591
diff changeset
  1337
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  1338
  $ hg merge 'desc("mCB-revert-m")'
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  1339
  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: 46591
diff changeset
  1340
  (branch merge, don't forget to commit)
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  1341
  $ 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: 46591
diff changeset
  1342
  created new head
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  1343
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  1344
  $ hg log -G --rev '::(desc("mBC+revert,Lm") + desc("mCB+revert,Lm") + desc("mL,BC+revertm") + desc("mL,CB+revertm"))'
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  1345
  @    mL,CB+revertm: chained merges (salvaged -> simple) - same content (when the file exists)
46592
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  1346
  |\
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  1347
  | | o  mL,BC+revertm: chained merges (salvaged -> simple) - same content (when the file exists)
46592
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  1348
  | |/|
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  1349
  +-+---o  mCB+revert,Lm: chained merges (salvaged -> simple) - same content (when the file exists)
46592
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  1350
  | | |
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  1351
  | +---o  mBC+revert,Lm: chained merges (salvaged -> simple) - same content (when the file exists)
46592
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  1352
  | | |/
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  1353
  | o |  l-1: unrelated changes (based on "c" changes)
46592
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  1354
  | | |
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  1355
  | | o  mBC-revert-m-0 merge explicitely revive deleted file - B side: unrelated change, C side: delete d (restored by merge) - the other way
46592
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  1356
  | |/|
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  1357
  o---+  mCB-revert-m-0 merge explicitely revive deleted file - B side: unrelated change, C side: delete d (restored by merge) - one way
46592
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  1358
  |/ /
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  1359
  o |  c-1 delete d
46592
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  1360
  | |
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  1361
  | o  b-1: b update
46592
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  1362
  |/
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  1363
  o  i-2: c -move-> d, s -move-> t
46592
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  1364
  |
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  1365
  o  i-1: a -move-> c, p -move-> s
46592
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  1366
  |
46649
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46607
diff changeset
  1367
  o  i-0 initial commit: a b h p q r
46592
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  1368
  
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  1369
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  1370
46593
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  1371
Subcase: chaining "merged" information during a merge
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  1372
``````````````````````````````````````````````````````
46592
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  1373
46593
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  1374
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: 46592
diff changeset
  1375
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  1376
  $ 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: 46592
diff changeset
  1377
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  1378
(extra unrelated changes)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  1379
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  1380
  $ hg up 'desc("f-2")'
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  1381
  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: 46592
diff changeset
  1382
  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: 46592
diff changeset
  1383
  $ echo n > unrelated-n
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  1384
  $ hg add unrelated-n
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  1385
  $ 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: 46592
diff changeset
  1386
  created new head
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  1387
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  1388
  $ hg up 'desc("g-1")'
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  1389
  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: 46592
diff changeset
  1390
  $ echo o > unrelated-o
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  1391
  $ hg add unrelated-o
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  1392
  $ 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: 46592
diff changeset
  1393
  created new head
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  1394
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  1395
(merge variant 1)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  1396
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  1397
  $ hg up 'desc("mFGm")'
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  1398
  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: 46592
diff changeset
  1399
  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: 46592
diff changeset
  1400
  $ hg merge 'desc("o-1")'
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  1401
  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: 46592
diff changeset
  1402
  (branch merge, don't forget to commit)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  1403
  $ hg ci -m "mFG,Om: $case_desc"
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  1404
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  1405
(merge variant 2)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  1406
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  1407
  $ hg up 'desc("o-1")'
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  1408
  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: 46592
diff changeset
  1409
  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: 46592
diff changeset
  1410
  $ hg merge 'desc("FGm")'
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  1411
  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: 46592
diff changeset
  1412
  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: 46592
diff changeset
  1413
  (branch merge, don't forget to commit)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  1414
  $ hg ci -m "mO,FGm: $case_desc"
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  1415
  created new head
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  1416
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  1417
(merge variant 3)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  1418
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  1419
  $ hg up 'desc("mGFm")'
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  1420
  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: 46592
diff changeset
  1421
  $ hg merge 'desc("n-1")'
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  1422
  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: 46592
diff changeset
  1423
  (branch merge, don't forget to commit)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  1424
  $ hg ci -m "mGF,Nm: $case_desc"
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  1425
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  1426
(merge variant 4)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  1427
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  1428
  $ hg up 'desc("n-1")'
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  1429
  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: 46592
diff changeset
  1430
  $ hg merge 'desc("mGFm")'
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  1431
  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: 46592
diff changeset
  1432
  (branch merge, don't forget to commit)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  1433
  $ hg ci -m "mN,GFm: $case_desc"
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  1434
  created new head
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  1435
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  1436
  $ hg log -G --rev '::(desc("mFG,Om") + desc("mO,FGm") + desc("mGF,Nm") + desc("mN,GFm"))'
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  1437
  @    mN,GFm: chained merges (copy-overwrite -> simple) - same content
46593
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  1438
  |\
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  1439
  +---o  mGF,Nm: chained merges (copy-overwrite -> simple) - same content
46593
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  1440
  | |/
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  1441
  | | o    mO,FGm: chained merges (copy-overwrite -> simple) - same content
46593
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  1442
  | | |\
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  1443
  | | +---o  mFG,Om: chained merges (copy-overwrite -> simple) - same content
46593
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  1444
  | | | |/
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  1445
  | | | o  o-1: unrelated changes (based on "g" changes)
46593
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  1446
  | | | |
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  1447
  | o | |  n-1: unrelated changes (based on the "f" series of changes)
46593
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  1448
  | | | |
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  1449
  o-----+  mGFm-0 merge - G side: content change, F side: copy overwrite, no content change - the other way
46593
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  1450
  |/ / /
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  1451
  | o /  mFGm-0 merge - G side: content change, F side: copy overwrite, no content change - one way
46593
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  1452
  |/|/
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  1453
  | o  g-1: update d
46593
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  1454
  | |
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  1455
  o |  f-2: rename i -> d
46593
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  1456
  | |
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  1457
  o |  f-1: rename h -> i
46593
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  1458
  |/
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  1459
  o  i-2: c -move-> d, s -move-> t
46593
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  1460
  |
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  1461
  o  i-1: a -move-> c, p -move-> s
46593
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  1462
  |
46649
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46607
diff changeset
  1463
  o  i-0 initial commit: a b h p q r
46593
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  1464
  
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
  1465
46598
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46597
diff changeset
  1466
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: 46597
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: 46597
diff changeset
  1468
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46597
diff changeset
  1469
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: 46597
diff changeset
  1470
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: 46597
diff changeset
  1471
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: 46597
diff changeset
  1472
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: 46597
diff changeset
  1473
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46597
diff changeset
  1474
  $ 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: 46597
diff changeset
  1475
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46597
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: 46597
diff changeset
  1477
(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: 46597
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: 46597
diff changeset
  1479
  $ 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: 46597
diff changeset
  1480
  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: 46597
diff changeset
  1481
  $ 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: 46597
diff changeset
  1482
  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: 46597
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: 46597
diff changeset
  1484
  $ 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: 46597
diff changeset
  1485
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46597
diff changeset
  1486
(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: 46597
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: 46597
diff changeset
  1488
  $ 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: 46597
diff changeset
  1489
  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: 46597
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: 46597
diff changeset
  1491
  $ 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: 46597
diff changeset
  1492
  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: 46597
diff changeset
  1493
  (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: 46597
diff changeset
  1494
  $ 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: 46597
diff changeset
  1495
  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: 46597
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: 46597
diff changeset
  1497
(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: 46597
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: 46597
diff changeset
  1499
  $ 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: 46597
diff changeset
  1500
  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: 46597
diff changeset
  1501
  $ 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: 46597
diff changeset
  1502
  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: 46597
diff changeset
  1503
  (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: 46597
diff changeset
  1504
  $ 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: 46597
diff changeset
  1505
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46597
diff changeset
  1506
(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: 46597
diff changeset
  1507
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46597
diff changeset
  1508
  $ 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: 46597
diff changeset
  1509
  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: 46597
diff changeset
  1510
  $ 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: 46597
diff changeset
  1511
  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: 46597
diff changeset
  1512
  (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: 46597
diff changeset
  1513
  $ 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: 46597
diff changeset
  1514
  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: 46597
diff changeset
  1515
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46597
diff changeset
  1516
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46597
diff changeset
  1517
  $ 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: 46597
diff changeset
  1518
  @    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: 46597
diff changeset
  1519
  |\
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46597
diff changeset
  1520
  +---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: 46597
diff changeset
  1521
  | |/
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46597
diff changeset
  1522
  | | 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: 46597
diff changeset
  1523
  | | |\
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46597
diff changeset
  1524
  | | +---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: 46597
diff changeset
  1525
  | | | |/
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46597
diff changeset
  1526
  | | | 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: 46597
diff changeset
  1527
  | | | |
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46597
diff changeset
  1528
  | 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: 46597
diff changeset
  1529
  | | | |
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46597
diff changeset
  1530
  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: 46597
diff changeset
  1531
  |/ / /
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46597
diff changeset
  1532
  | 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: 46597
diff changeset
  1533
  |/|/
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46597
diff changeset
  1534
  | 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: 46597
diff changeset
  1535
  | |
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46597
diff changeset
  1536
  | 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: 46597
diff changeset
  1537
  | |
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46597
diff changeset
  1538
  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: 46597
diff changeset
  1539
  | |
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46597
diff changeset
  1540
  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: 46597
diff changeset
  1541
  |/
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  1542
  o  i-2: c -move-> d, s -move-> t
46598
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46597
diff changeset
  1543
  |
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  1544
  o  i-1: a -move-> c, p -move-> s
46598
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46597
diff changeset
  1545
  |
46649
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46607
diff changeset
  1546
  o  i-0 initial commit: a b h p q r
46598
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46597
diff changeset
  1547
  
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46597
diff changeset
  1548
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
  1549
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
  1550
----------------------------
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
  1551
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
  1552
  $ 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
  1553
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
  1554
(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
  1555
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
  $ 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
  1557
  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
  1558
  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
  1559
  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
  1560
  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
  1561
  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
  1562
  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
  1563
  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
  1564
  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
  1565
  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
  1566
  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
  1567
  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
  1568
  h-1: b -(move)-> d
46649
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46607
diff changeset
  1569
  i-0 initial commit: a b h p q r
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  1570
  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: 46599
diff changeset
  1571
  i-2: c -move-> d, s -move-> t
46591
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  1572
  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: 46590
diff changeset
  1573
  k-1: unrelated changes (based on "e" changes)
46592
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  1574
  l-1: unrelated changes (based on "c" changes)
46580
e20977208924 test-copies: improve description of the A+B case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46579
diff changeset
  1575
  mABm-0 simple merge - A side: multiple renames, B side: unrelated update - the other way
46591
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  1576
  mAE,Km: chained merges (conflict -> simple) - same content everywhere
46598
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46597
diff changeset
  1577
  mAE-change,Km: chained merges (conflict+change -> simple) - same content on both branch in the initial merge
46597
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46596
diff changeset
  1578
  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
46583
19f490690880 test-copies: improve description of the A+E case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46582
diff changeset
  1579
  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
46580
e20977208924 test-copies: improve description of the A+B case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46579
diff changeset
  1580
  mBAm-0 simple merge - A side: multiple renames, B side: unrelated update - one way
46592
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  1581
  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
  1582
  mBC-change-m-0 merge explicitely revive deleted file - B side: unrelated change, C side: delete d (restored by merge) - the other way
46587
311a18777f45 test-copies: improve description of the B+C "revert/restore" case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46586
diff changeset
  1583
  mBC-revert-m-0 merge explicitely revive deleted file - B side: unrelated change, C side: delete d (restored by merge) - the other way
46581
979838adc46b test-copies: improve description of the B+C case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46580
diff changeset
  1584
  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
  1585
  mBCm-1 re-add d
46582
9a58f9eed303 test-copies: improve description of the B+D case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46581
diff changeset
  1586
  mBDm-0 simple merge - B side: unrelated update, D side: delete and recreate a file (with different content) - one way
46795
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46719
diff changeset
  1587
  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
46589
f8888f5c8c50 test-copies: improve description of the B+F case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46588
diff changeset
  1588
  mBFm-0 simple merge - B side: unrelated change, F side: overwrite d with a copy (from h->i->d) - one way
46604
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46603
diff changeset
  1589
  mBRm-0 simple merge - B side: unrelated change, R side: overwrite d with a copy (from r->x->t) different content - one way
46592
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  1590
  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
  1591
  mCB-change-m-0 merge explicitely revive deleted file - B side: unrelated change, C side: delete d (restored by merge) - one way
46587
311a18777f45 test-copies: improve description of the B+C "revert/restore" case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46586
diff changeset
  1592
  mCB-revert-m-0 merge explicitely revive deleted file - B side: unrelated change, C side: delete d (restored by merge) - one way
46581
979838adc46b test-copies: improve description of the B+C case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46580
diff changeset
  1593
  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
  1594
  mCBm-1 re-add d
46586
a1a06dca6941 test-copies: improve description of the G+C case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46585
diff changeset
  1595
  mCGm-0 merge updated/deleted - revive the file (updated content) - one way
46588
60c52bdb1784 test-copies: improve description of the C+H case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46587
diff changeset
  1596
  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
46582
9a58f9eed303 test-copies: improve description of the B+D case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46581
diff changeset
  1597
  mDBm-0 simple merge - B side: unrelated update, D side: delete and recreate a file (with different content) - the other way
46584
1e96fdcc8bc1 test-copies: improve description of the D+G case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46583
diff changeset
  1598
  mDGm-0 actual content merge, copies on one side - D side: delete and re-add (different content), G side: update content - one way
46591
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  1599
  mEA,Jm: chained merges (conflict -> simple) - same content everywhere
46598
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46597
diff changeset
  1600
  mEA-change,Jm: chained merges (conflict+change -> simple) - same content on both branch in the initial merge
46597
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46596
diff changeset
  1601
  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
46583
19f490690880 test-copies: improve description of the A+E case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46582
diff changeset
  1602
  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
46795
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46719
diff changeset
  1603
  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
46589
f8888f5c8c50 test-copies: improve description of the B+F case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46588
diff changeset
  1604
  mFBm-0 simple merge - B side: unrelated change, F side: overwrite d with a copy (from h->i->d) - the other way
46593
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  1605
  mFG,Om: chained merges (copy-overwrite -> simple) - same content
46585
2f99dedf96b1 test-copies: improve description of the G+F case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46584
diff changeset
  1606
  mFGm-0 merge - G side: content change, F side: copy overwrite, no content change - one way
46586
a1a06dca6941 test-copies: improve description of the G+C case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46585
diff changeset
  1607
  mGCm-0 merge updated/deleted - revive the file (updated content) - the other way
46584
1e96fdcc8bc1 test-copies: improve description of the D+G case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46583
diff changeset
  1608
  mGDm-0 actual content merge, copies on one side - D side: delete and re-add (different content), G side: update content - the other way
46593
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  1609
  mGF,Nm: chained merges (copy-overwrite -> simple) - same content
46585
2f99dedf96b1 test-copies: improve description of the G+F case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46584
diff changeset
  1610
  mGFm-0 merge - G side: content change, F side: copy overwrite, no content change - the other way
46588
60c52bdb1784 test-copies: improve description of the C+H case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46587
diff changeset
  1611
  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
46598
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46597
diff changeset
  1612
  mJ,EA-change-m: chained merges (conflict+change -> simple) - same content on both branch in the initial merge
46591
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  1613
  mJ,EAm: chained merges (conflict -> simple) - same content everywhere
46598
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46597
diff changeset
  1614
  mK,AE-change-m: chained merges (conflict+change -> simple) - same content on both branch in the initial merge
46591
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  1615
  mK,AEm: chained merges (conflict -> simple) - same content everywhere
46592
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  1616
  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: 46591
diff changeset
  1617
  mL,CB+revertm: chained merges (salvaged -> simple) - same content (when the file exists)
46593
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  1618
  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: 46592
diff changeset
  1619
  mO,FGm: chained merges (copy-overwrite -> simple) - same content
46605
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  1620
  mPQ,Tm: chained merges (conflict -> simple) - different content
46603
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  1621
  mPQm-0 merge with copies info on both side - P side: rename t to v, Q side: r to v, (different content) - one way
46605
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  1622
  mQP,Sm: chained merges (conflict -> simple) - different content
46603
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  1623
  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
46604
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46603
diff changeset
  1624
  mRBm-0 simple merge - B side: unrelated change, R side: overwrite d with a copy (from r->x->t) different content - the other way
46605
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  1625
  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: 46604
diff changeset
  1626
  mT,PQm: chained merges (conflict -> simple) - different content
46593
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  1627
  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: 46592
diff changeset
  1628
  o-1: unrelated changes (based on "g" changes)
46601
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: 46600
diff changeset
  1629
  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: 46600
diff changeset
  1630
  p-2: u -move-> v
46602
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: 46601
diff changeset
  1631
  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: 46601
diff changeset
  1632
  q-2 w -move-> v
46604
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46603
diff changeset
  1633
  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: 46603
diff changeset
  1634
  r-2: rename t -> x
46605
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  1635
  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: 46604
diff changeset
  1636
  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
  1637
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
  1638
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
  1639
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
  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
ee3fd9021fac 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
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
  1643
 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
  1644
 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
  1645
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1646
45735
edf4fa06df94 upgrade: allow sidedata upgrade to modify revision flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45733
diff changeset
  1647
#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
  1648
  $ 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
  1649
  > [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
  1650
  > 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
  1651
  > 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
  1652
  $ 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
  1653
  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
  1654
  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
  1655
  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
  1656
  generaldelta:       yes    yes     yes
46334
6e81446bf1d9 share: move share safe functionality out of experimental
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46186
diff changeset
  1657
  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
  1658
  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
  1659
  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
  1660
  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
  1661
  copies-sdc:          no    yes      no
46718
fd55a9eb1507 revlogv2: allow upgrading to v2
Raphaël Gomès <rgomes@octobus.net>
parents: 46657
diff changeset
  1662
  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
  1663
  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
  1664
  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
  1665
  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
  1666
  $ 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
  1667
  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
  1668
  
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1669
  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
  1670
     preserved: * (glob)
46718
fd55a9eb1507 revlogv2: allow upgrading to v2
Raphaël Gomès <rgomes@octobus.net>
parents: 46657
diff changeset
  1671
     removed: revlogv1
47240
21b3e6116bd1 side-data: drop the associated config and requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47238
diff changeset
  1672
     added: exp-copies-sidedata-changeset, exp-revlogv2.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
  1673
  
46039
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
  1674
  processed revlogs:
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
  1675
    - all-filelogs
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
  1676
    - changelog
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
  1677
    - manifest
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46017
diff changeset
  1678
  
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
  1679
#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
  1680
46657
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46649
diff changeset
  1681
#if upgraded-parallel
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46649
diff changeset
  1682
  $ cat >> $HGRCPATH << EOF
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46649
diff changeset
  1683
  > [format]
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46649
diff changeset
  1684
  > 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: 46649
diff changeset
  1685
  > [experimental]
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46649
diff changeset
  1686
  > worker.repository-upgrade=yes
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46649
diff changeset
  1687
  > [worker]
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46649
diff changeset
  1688
  > enabled=yes
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46649
diff changeset
  1689
  > numcpus=8
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46649
diff changeset
  1690
  > EOF
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46649
diff changeset
  1691
  $ hg debugformat -v
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46649
diff changeset
  1692
  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: 46649
diff changeset
  1693
  fncache:            yes    yes     yes
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46649
diff changeset
  1694
  dotencode:          yes    yes     yes
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46649
diff changeset
  1695
  generaldelta:       yes    yes     yes
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46649
diff changeset
  1696
  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: 46649
diff changeset
  1697
  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
  1698
  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
  1699
  persistent-nodemap: yes    yes      no (rust !)
46657
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46649
diff changeset
  1700
  copies-sdc:          no    yes      no
46718
fd55a9eb1507 revlogv2: allow upgrading to v2
Raphaël Gomès <rgomes@octobus.net>
parents: 46657
diff changeset
  1701
  revlog-v2:           no    yes      no
46657
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46649
diff changeset
  1702
  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: 46649
diff changeset
  1703
  compression:        * (glob)
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46649
diff changeset
  1704
  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: 46649
diff changeset
  1705
  $ hg debugupgraderepo --run --quiet
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46649
diff changeset
  1706
  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: 46649
diff changeset
  1707
  
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46649
diff changeset
  1708
  requirements
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46649
diff changeset
  1709
     preserved: * (glob)
46718
fd55a9eb1507 revlogv2: allow upgrading to v2
Raphaël Gomès <rgomes@octobus.net>
parents: 46657
diff changeset
  1710
     removed: revlogv1
47240
21b3e6116bd1 side-data: drop the associated config and requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47238
diff changeset
  1711
     added: exp-copies-sidedata-changeset, exp-revlogv2.2
46657
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46649
diff changeset
  1712
  
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46649
diff changeset
  1713
  processed revlogs:
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46649
diff changeset
  1714
    - all-filelogs
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46649
diff changeset
  1715
    - changelog
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46649
diff changeset
  1716
    - manifest
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46649
diff changeset
  1717
  
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46649
diff changeset
  1718
#endif
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46649
diff changeset
  1719
47102
573d817bcc1f test-copies: test that copies' sidedata does not get corrupted during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47101
diff changeset
  1720
#if pull
573d817bcc1f test-copies: test that copies' sidedata does not get corrupted during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47101
diff changeset
  1721
  $ cd ..
573d817bcc1f test-copies: test that copies' sidedata does not get corrupted during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47101
diff changeset
  1722
  $ mv repo-chain repo-source
573d817bcc1f test-copies: test that copies' sidedata does not get corrupted during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47101
diff changeset
  1723
  $ hg init repo-chain
573d817bcc1f test-copies: test that copies' sidedata does not get corrupted during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47101
diff changeset
  1724
  $ cd repo-chain
573d817bcc1f test-copies: test that copies' sidedata does not get corrupted during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47101
diff changeset
  1725
  $ hg pull ../repo-source
573d817bcc1f test-copies: test that copies' sidedata does not get corrupted during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47101
diff changeset
  1726
  pulling from ../repo-source
573d817bcc1f test-copies: test that copies' sidedata does not get corrupted during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47101
diff changeset
  1727
  requesting all changes
573d817bcc1f test-copies: test that copies' sidedata does not get corrupted during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47101
diff changeset
  1728
  adding changesets
573d817bcc1f test-copies: test that copies' sidedata does not get corrupted during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47101
diff changeset
  1729
  adding manifests
573d817bcc1f test-copies: test that copies' sidedata does not get corrupted during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47101
diff changeset
  1730
  adding file changes
573d817bcc1f test-copies: test that copies' sidedata does not get corrupted during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47101
diff changeset
  1731
  added 80 changesets with 44 changes to 25 files (+39 heads)
573d817bcc1f test-copies: test that copies' sidedata does not get corrupted during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47101
diff changeset
  1732
  new changesets a3a31bbefea6:908ce9259ffa
573d817bcc1f test-copies: test that copies' sidedata does not get corrupted during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47101
diff changeset
  1733
  (run 'hg heads' to see heads, 'hg merge' to merge)
573d817bcc1f test-copies: test that copies' sidedata does not get corrupted during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47101
diff changeset
  1734
#endif
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
  1735
47104
f506adbe5ac1 test-copies: test that copies' sidedata can get computed during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47103
diff changeset
  1736
#if pull-upgrade
f506adbe5ac1 test-copies: test that copies' sidedata can get computed during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47103
diff changeset
  1737
  $ cat >> $HGRCPATH << EOF
f506adbe5ac1 test-copies: test that copies' sidedata can get computed during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47103
diff changeset
  1738
  > [format]
f506adbe5ac1 test-copies: test that copies' sidedata can get computed during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47103
diff changeset
  1739
  > exp-use-copies-side-data-changeset = yes
f506adbe5ac1 test-copies: test that copies' sidedata can get computed during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47103
diff changeset
  1740
  > [experimental]
f506adbe5ac1 test-copies: test that copies' sidedata can get computed during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47103
diff changeset
  1741
  > changegroup4 = yes
f506adbe5ac1 test-copies: test that copies' sidedata can get computed during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47103
diff changeset
  1742
  > EOF
f506adbe5ac1 test-copies: test that copies' sidedata can get computed during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47103
diff changeset
  1743
  $ cd ..
f506adbe5ac1 test-copies: test that copies' sidedata can get computed during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47103
diff changeset
  1744
  $ mv repo-chain repo-source
f506adbe5ac1 test-copies: test that copies' sidedata can get computed during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47103
diff changeset
  1745
  $ hg init repo-chain
f506adbe5ac1 test-copies: test that copies' sidedata can get computed during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47103
diff changeset
  1746
  $ cd repo-chain
f506adbe5ac1 test-copies: test that copies' sidedata can get computed during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47103
diff changeset
  1747
  $ hg pull ../repo-source
f506adbe5ac1 test-copies: test that copies' sidedata can get computed during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47103
diff changeset
  1748
  pulling from ../repo-source
f506adbe5ac1 test-copies: test that copies' sidedata can get computed during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47103
diff changeset
  1749
  requesting all changes
f506adbe5ac1 test-copies: test that copies' sidedata can get computed during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47103
diff changeset
  1750
  adding changesets
f506adbe5ac1 test-copies: test that copies' sidedata can get computed during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47103
diff changeset
  1751
  adding manifests
f506adbe5ac1 test-copies: test that copies' sidedata can get computed during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47103
diff changeset
  1752
  adding file changes
f506adbe5ac1 test-copies: test that copies' sidedata can get computed during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47103
diff changeset
  1753
  added 80 changesets with 44 changes to 25 files (+39 heads)
f506adbe5ac1 test-copies: test that copies' sidedata can get computed during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47103
diff changeset
  1754
  new changesets a3a31bbefea6:908ce9259ffa
f506adbe5ac1 test-copies: test that copies' sidedata can get computed during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47103
diff changeset
  1755
  (run 'hg heads' to see heads, 'hg merge' to merge)
f506adbe5ac1 test-copies: test that copies' sidedata can get computed during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47103
diff changeset
  1756
#endif
f506adbe5ac1 test-copies: test that copies' sidedata can get computed during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47103
diff changeset
  1757
47103
fa5bc416b413 test-copies: test that copies' sidedata does not get corrupted during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47102
diff changeset
  1758
#if push
fa5bc416b413 test-copies: test that copies' sidedata does not get corrupted during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47102
diff changeset
  1759
  $ cd ..
fa5bc416b413 test-copies: test that copies' sidedata does not get corrupted during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47102
diff changeset
  1760
  $ mv repo-chain repo-source
fa5bc416b413 test-copies: test that copies' sidedata does not get corrupted during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47102
diff changeset
  1761
  $ hg init repo-chain
fa5bc416b413 test-copies: test that copies' sidedata does not get corrupted during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47102
diff changeset
  1762
  $ cd repo-source
fa5bc416b413 test-copies: test that copies' sidedata does not get corrupted during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47102
diff changeset
  1763
  $ hg push ../repo-chain
fa5bc416b413 test-copies: test that copies' sidedata does not get corrupted during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47102
diff changeset
  1764
  pushing to ../repo-chain
fa5bc416b413 test-copies: test that copies' sidedata does not get corrupted during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47102
diff changeset
  1765
  searching for changes
fa5bc416b413 test-copies: test that copies' sidedata does not get corrupted during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47102
diff changeset
  1766
  adding changesets
fa5bc416b413 test-copies: test that copies' sidedata does not get corrupted during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47102
diff changeset
  1767
  adding manifests
fa5bc416b413 test-copies: test that copies' sidedata does not get corrupted during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47102
diff changeset
  1768
  adding file changes
fa5bc416b413 test-copies: test that copies' sidedata does not get corrupted during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47102
diff changeset
  1769
  added 80 changesets with 44 changes to 25 files (+39 heads)
fa5bc416b413 test-copies: test that copies' sidedata does not get corrupted during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47102
diff changeset
  1770
  $ cd ../repo-chain
fa5bc416b413 test-copies: test that copies' sidedata does not get corrupted during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47102
diff changeset
  1771
#endif
fa5bc416b413 test-copies: test that copies' sidedata does not get corrupted during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47102
diff changeset
  1772
47105
bc7bdca15e47 test-copies: test that copies' sidedata can get computed during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47104
diff changeset
  1773
#if push-upgrade
bc7bdca15e47 test-copies: test that copies' sidedata can get computed during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47104
diff changeset
  1774
  $ cat >> $HGRCPATH << EOF
bc7bdca15e47 test-copies: test that copies' sidedata can get computed during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47104
diff changeset
  1775
  > [format]
bc7bdca15e47 test-copies: test that copies' sidedata can get computed during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47104
diff changeset
  1776
  > exp-use-copies-side-data-changeset = yes
bc7bdca15e47 test-copies: test that copies' sidedata can get computed during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47104
diff changeset
  1777
  > [experimental]
bc7bdca15e47 test-copies: test that copies' sidedata can get computed during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47104
diff changeset
  1778
  > changegroup4 = yes
bc7bdca15e47 test-copies: test that copies' sidedata can get computed during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47104
diff changeset
  1779
  > EOF
bc7bdca15e47 test-copies: test that copies' sidedata can get computed during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47104
diff changeset
  1780
  $ cd ..
bc7bdca15e47 test-copies: test that copies' sidedata can get computed during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47104
diff changeset
  1781
  $ mv repo-chain repo-source
bc7bdca15e47 test-copies: test that copies' sidedata can get computed during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47104
diff changeset
  1782
  $ hg init repo-chain
bc7bdca15e47 test-copies: test that copies' sidedata can get computed during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47104
diff changeset
  1783
  $ cd repo-source
bc7bdca15e47 test-copies: test that copies' sidedata can get computed during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47104
diff changeset
  1784
  $ hg push ../repo-chain
bc7bdca15e47 test-copies: test that copies' sidedata can get computed during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47104
diff changeset
  1785
  pushing to ../repo-chain
bc7bdca15e47 test-copies: test that copies' sidedata can get computed during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47104
diff changeset
  1786
  searching for changes
bc7bdca15e47 test-copies: test that copies' sidedata can get computed during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47104
diff changeset
  1787
  adding changesets
bc7bdca15e47 test-copies: test that copies' sidedata can get computed during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47104
diff changeset
  1788
  adding manifests
bc7bdca15e47 test-copies: test that copies' sidedata can get computed during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47104
diff changeset
  1789
  adding file changes
bc7bdca15e47 test-copies: test that copies' sidedata can get computed during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47104
diff changeset
  1790
  added 80 changesets with 44 changes to 25 files (+39 heads)
bc7bdca15e47 test-copies: test that copies' sidedata can get computed during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47104
diff changeset
  1791
  $ cd ../repo-chain
bc7bdca15e47 test-copies: test that copies' sidedata can get computed during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47104
diff changeset
  1792
#endif
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
  1793
45735
edf4fa06df94 upgrade: allow sidedata upgrade to modify revision flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45733
diff changeset
  1794
#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
  1795
46538
c2435280ca63 copy-tracing: add a --compute flag to debugchangedfiles
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46334
diff changeset
  1796
  $ 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
  1797
  added      : a, ;
c2435280ca63 copy-tracing: add a --compute flag to debugchangedfiles
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46334
diff changeset
  1798
  added      : b, ;
c2435280ca63 copy-tracing: add a --compute flag to debugchangedfiles
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46334
diff changeset
  1799
  added      : h, ;
46599
46205a478a08 test-copies: add 3 new files with their own content
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46598
diff changeset
  1800
  added      : p, ;
46205a478a08 test-copies: add 3 new files with their own content
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46598
diff changeset
  1801
  added      : q, ;
46205a478a08 test-copies: add 3 new files with their own content
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46598
diff changeset
  1802
  added      : r, ;
46538
c2435280ca63 copy-tracing: add a --compute flag to debugchangedfiles
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46334
diff changeset
  1803
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
  1804
  $ for rev in `hg log --rev 'all()' -T '{rev}\n'`; do
46595
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46594
diff changeset
  1805
  >     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: 46594
diff changeset
  1806
  >     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
  1807
  >     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
  1808
  >     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
  1809
  > done
46595
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46594
diff changeset
  1810
  ##### 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
  1811
  1 sidedata entries
46599
46205a478a08 test-copies: add 3 new files with their own content
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46598
diff changeset
  1812
   entry-0014 size 64
46205a478a08 test-copies: add 3 new files with their own content
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46598
diff changeset
  1813
    '\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
  1814
  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
  1815
  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
  1816
  added      : h, ;
46599
46205a478a08 test-copies: add 3 new files with their own content
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46598
diff changeset
  1817
  added      : p, ;
46205a478a08 test-copies: add 3 new files with their own content
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46598
diff changeset
  1818
  added      : q, ;
46205a478a08 test-copies: add 3 new files with their own content
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46598
diff changeset
  1819
  added      : r, ;
46595
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46594
diff changeset
  1820
  ##### 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
  1821
  1 sidedata entries
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  1822
   entry-0014 size 44
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  1823
    '\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
  1824
  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
  1825
  added    p1: c, a;
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  1826
  removed    : p, ;
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  1827
  added    p1: s, p;
46595
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46594
diff changeset
  1828
  ##### 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
  1829
  1 sidedata entries
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  1830
   entry-0014 size 44
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  1831
    '\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
  1832
  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
  1833
  added    p1: d, c;
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  1834
  removed    : s, ;
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  1835
  added    p1: t, s;
46595
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46594
diff changeset
  1836
  ##### 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
  1837
  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
  1838
   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
  1839
    '\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
  1840
  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
  1841
  added    p1: e, d;
46595
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46594
diff changeset
  1842
  ##### 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
  1843
  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
  1844
   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
  1845
    '\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
  1846
  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
  1847
  added    p1: f, e;
46595
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46594
diff changeset
  1848
  ##### 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
  1849
  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
  1850
   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
  1851
    '\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
  1852
  touched    : b, ;
46595
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46594
diff changeset
  1853
  ##### 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
  1854
  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
  1855
   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
  1856
    '\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
  1857
  removed    : d, ;
46595
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46594
diff changeset
  1858
  ##### 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
  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 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
  1861
    '\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
  1862
  removed    : d, ;
46595
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46594
diff changeset
  1863
  ##### 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
  1864
  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
  1865
   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
  1866
    '\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
  1867
  added      : d, ;
46595
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46594
diff changeset
  1868
  ##### 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
  1869
  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
  1870
   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
  1871
    '\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
  1872
  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
  1873
  added    p1: g, b;
46595
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46594
diff changeset
  1874
  ##### 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
  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 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
  1877
    '\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
  1878
  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
  1879
  removed    : g, ;
46601
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: 46600
diff changeset
  1880
  ##### 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: 46600
diff changeset
  1881
  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: 46600
diff changeset
  1882
   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: 46600
diff changeset
  1883
    '\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: 46600
diff changeset
  1884
  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: 46600
diff changeset
  1885
  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: 46600
diff changeset
  1886
  ##### 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: 46600
diff changeset
  1887
  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: 46600
diff changeset
  1888
   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: 46600
diff changeset
  1889
    '\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: 46600
diff changeset
  1890
  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: 46600
diff changeset
  1891
  added    p1: v, u;
46602
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: 46601
diff changeset
  1892
  ##### 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: 46601
diff changeset
  1893
  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: 46601
diff changeset
  1894
   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: 46601
diff changeset
  1895
    '\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: 46601
diff changeset
  1896
  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: 46601
diff changeset
  1897
  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: 46601
diff changeset
  1898
  ##### 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: 46601
diff changeset
  1899
  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: 46601
diff changeset
  1900
   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: 46601
diff changeset
  1901
    '\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: 46601
diff changeset
  1902
  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: 46601
diff changeset
  1903
  removed    : w, ;
46595
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46594
diff changeset
  1904
  ##### 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
  1905
  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
  1906
   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
  1907
    '\x00\x00\x00\x00'
46595
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46594
diff changeset
  1908
  ##### 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
  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 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
  1911
    '\x00\x00\x00\x00'
46595
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46594
diff changeset
  1912
  ##### 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
  1913
  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
  1914
   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
  1915
    '\x00\x00\x00\x00'
46595
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46594
diff changeset
  1916
  ##### 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
  1917
  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
  1918
   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
  1919
    '\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
  1920
  added      : d, ;
46595
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46594
diff changeset
  1921
  ##### 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
  1922
  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
  1923
   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
  1924
    '\x00\x00\x00\x00'
46595
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46594
diff changeset
  1925
  ##### 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
  1926
  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
  1927
   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
  1928
    '\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
  1929
  added      : d, ;
46595
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46594
diff changeset
  1930
  ##### 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
  1931
  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
  1932
   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
  1933
    '\x00\x00\x00\x00'
46595
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46594
diff changeset
  1934
  ##### 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
  1935
  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
  1936
   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
  1937
    '\x00\x00\x00\x00'
46595
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46594
diff changeset
  1938
  ##### 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
  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\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
  1942
  merged     : f, ;
46595
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46594
diff changeset
  1943
  ##### 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
  1944
  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
  1945
   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
  1946
    '\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
  1947
  merged     : f, ;
46603
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  1948
  ##### 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: 46602
diff changeset
  1949
  1 sidedata entries
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  1950
   entry-0014 size 14
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  1951
    '\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: 46602
diff changeset
  1952
  merged     : v, ;
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  1953
  ##### 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: 46602
diff changeset
  1954
  1 sidedata entries
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  1955
   entry-0014 size 14
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  1956
    '\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: 46602
diff changeset
  1957
  merged     : v, ;
46595
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46594
diff changeset
  1958
  ##### 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
  1959
  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
  1960
   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
  1961
    '\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
  1962
  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
  1963
  added    p1: i, h;
46595
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46594
diff changeset
  1964
  ##### 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
  1965
  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
  1966
   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
  1967
    '\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
  1968
  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
  1969
  removed    : i, ;
46595
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46594
diff changeset
  1970
  ##### 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
  1971
  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
  1972
   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
  1973
    '\x00\x00\x00\x00'
46595
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46594
diff changeset
  1974
  ##### 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
  1975
  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
  1976
   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
  1977
    '\x00\x00\x00\x00'
46604
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46603
diff changeset
  1978
  ##### 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: 46603
diff changeset
  1979
  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: 46603
diff changeset
  1980
   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: 46603
diff changeset
  1981
    '\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: 46603
diff changeset
  1982
  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: 46603
diff changeset
  1983
  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: 46603
diff changeset
  1984
  ##### 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: 46603
diff changeset
  1985
  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: 46603
diff changeset
  1986
   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: 46603
diff changeset
  1987
    '\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: 46603
diff changeset
  1988
  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: 46603
diff changeset
  1989
  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: 46603
diff changeset
  1990
  ##### 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: 46603
diff changeset
  1991
  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: 46603
diff changeset
  1992
   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: 46603
diff changeset
  1993
    '\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: 46603
diff changeset
  1994
  ##### 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: 46603
diff changeset
  1995
  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: 46603
diff changeset
  1996
   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: 46603
diff changeset
  1997
    '\x00\x00\x00\x00'
46595
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46594
diff changeset
  1998
  ##### 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
  1999
  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
  2000
   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
  2001
    '\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
  2002
  touched    : d, ;
46595
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46594
diff changeset
  2003
  ##### 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
  2004
  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
  2005
   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
  2006
    '\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
  2007
  merged     : d, ;
46595
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46594
diff changeset
  2008
  ##### 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
  2009
  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
  2010
   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
  2011
    '\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
  2012
  merged     : d, ;
46595
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46594
diff changeset
  2013
  ##### 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
  2014
  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
  2015
   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
  2016
    '\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
  2017
  merged     : d, ;
46595
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46594
diff changeset
  2018
  ##### 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
  2019
  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
  2020
   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
  2021
    '\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
  2022
  merged     : d, ;
46595
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46594
diff changeset
  2023
  ##### 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
  2024
  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
  2025
   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
  2026
    '\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
  2027
  salvaged   : d, ;
46595
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46594
diff changeset
  2028
  ##### 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
  2029
  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
  2030
   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
  2031
    '\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
  2032
  salvaged   : d, ;
46595
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46594
diff changeset
  2033
  ##### 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
  2034
  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
  2035
   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
  2036
    '\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
  2037
  salvaged   : d, ;
46595
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46594
diff changeset
  2038
  ##### 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
  2039
  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
  2040
   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
  2041
    '\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
  2042
  salvaged   : d, ;
46595
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46594
diff changeset
  2043
  ##### revision "h-1" #####
45821
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45801
diff changeset
  2044
  1 sidedata entries
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45801
diff changeset
  2045
   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: 45801
diff changeset
  2046
    '\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: 45801
diff changeset
  2047
  removed    : b, ;
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45801
diff changeset
  2048
  added    p1: d, b;
46595
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46594
diff changeset
  2049
  ##### revision "mCH-delete-before-conflict-m-0 simple merge - C side" #####
45821
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45801
diff changeset
  2050
  1 sidedata entries
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45801
diff changeset
  2051
   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: 45801
diff changeset
  2052
    '\x00\x00\x00\x00'
46595
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46594
diff changeset
  2053
  ##### revision "mHC-delete-before-conflict-m-0 simple merge - C side" #####
45821
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45801
diff changeset
  2054
  1 sidedata entries
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45801
diff changeset
  2055
   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: 45801
diff changeset
  2056
    '\x00\x00\x00\x00'
46597
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46596
diff changeset
  2057
  ##### 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: 46596
diff changeset
  2058
  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: 46596
diff changeset
  2059
   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: 46596
diff changeset
  2060
    '\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: 46596
diff changeset
  2061
  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: 46596
diff changeset
  2062
  ##### 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: 46596
diff changeset
  2063
  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: 46596
diff changeset
  2064
   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: 46596
diff changeset
  2065
    '\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: 46596
diff changeset
  2066
  merged     : f, ;
46795
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46719
diff changeset
  2067
  ##### 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: 46719
diff changeset
  2068
  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: 46719
diff changeset
  2069
   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
  2070
    '\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
  2071
  touched    : d, ;
46795
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46719
diff changeset
  2072
  ##### 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: 46719
diff changeset
  2073
  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: 46719
diff changeset
  2074
   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
  2075
    '\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
  2076
  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
  2077
  ##### 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
  2078
  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
  2079
   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
  2080
    '\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
  2081
  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
  2082
  ##### 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
  2083
  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
  2084
   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
  2085
    '\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
  2086
  salvaged   : d, ;
46595
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46594
diff changeset
  2087
  ##### revision "j-1" #####
46591
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  2088
  1 sidedata entries
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  2089
   entry-0014 size 24
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  2090
    '\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: 46590
diff changeset
  2091
  added      : unrelated-j, ;
46595
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46594
diff changeset
  2092
  ##### revision "k-1" #####
46591
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  2093
  1 sidedata entries
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  2094
   entry-0014 size 24
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  2095
    '\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: 46590
diff changeset
  2096
  added      : unrelated-k, ;
46595
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46594
diff changeset
  2097
  ##### revision "mAE,Km" #####
46591
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  2098
  1 sidedata entries
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  2099
   entry-0014 size 4
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  2100
    '\x00\x00\x00\x00'
46595
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46594
diff changeset
  2101
  ##### revision "mK,AEm" #####
46591
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  2102
  1 sidedata entries
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  2103
   entry-0014 size 4
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  2104
    '\x00\x00\x00\x00'
46595
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46594
diff changeset
  2105
  ##### revision "mEA,Jm" #####
46591
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  2106
  1 sidedata entries
46812
e4696ba43ecd test-copies: show some wrong ChangedFiles upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46811
diff changeset
  2107
   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
  2108
    '\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
  2109
  touched    : unrelated-j, ;
46595
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46594
diff changeset
  2110
  ##### revision "mJ,EAm" #####
46591
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  2111
  1 sidedata entries
46812
e4696ba43ecd test-copies: show some wrong ChangedFiles upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46811
diff changeset
  2112
   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
  2113
    '\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
  2114
  touched    : unrelated-j, ;
46605
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  2115
  ##### revision "s-1" #####
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  2116
  1 sidedata entries
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  2117
   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: 46604
diff changeset
  2118
    '\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: 46604
diff changeset
  2119
  added      : unrelated-s, ;
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  2120
  ##### revision "t-1" #####
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  2121
  1 sidedata entries
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  2122
   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: 46604
diff changeset
  2123
    '\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: 46604
diff changeset
  2124
  added      : unrelated-t, ;
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  2125
  ##### revision "mPQ,Tm" #####
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  2126
  1 sidedata entries
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  2127
   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: 46604
diff changeset
  2128
    '\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: 46604
diff changeset
  2129
  ##### revision "mT,PQm" #####
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  2130
  1 sidedata entries
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  2131
   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: 46604
diff changeset
  2132
    '\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: 46604
diff changeset
  2133
  ##### revision "mQP,Sm" #####
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  2134
  1 sidedata entries
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  2135
   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: 46604
diff changeset
  2136
    '\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: 46604
diff changeset
  2137
  ##### revision "mS,QPm" #####
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  2138
  1 sidedata entries
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  2139
   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: 46604
diff changeset
  2140
    '\x00\x00\x00\x00'
46595
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46594
diff changeset
  2141
  ##### revision "l-1" #####
46592
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  2142
  1 sidedata entries
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  2143
   entry-0014 size 24
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  2144
    '\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: 46591
diff changeset
  2145
  added      : unrelated-l, ;
46595
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46594
diff changeset
  2146
  ##### revision "mBC+revert,Lm" #####
46592
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  2147
  1 sidedata entries
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  2148
   entry-0014 size 4
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  2149
    '\x00\x00\x00\x00'
46595
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46594
diff changeset
  2150
  ##### revision "mCB+revert,Lm" #####
46592
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  2151
  1 sidedata entries
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  2152
   entry-0014 size 4
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  2153
    '\x00\x00\x00\x00'
46595
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46594
diff changeset
  2154
  ##### revision "mL,BC+revertm" #####
46592
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  2155
  1 sidedata entries
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  2156
   entry-0014 size 4
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  2157
    '\x00\x00\x00\x00'
46595
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46594
diff changeset
  2158
  ##### revision "mL,CB+revertm" #####
46592
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  2159
  1 sidedata entries
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  2160
   entry-0014 size 4
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  2161
    '\x00\x00\x00\x00'
46595
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46594
diff changeset
  2162
  ##### revision "n-1" #####
46593
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  2163
  1 sidedata entries
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  2164
   entry-0014 size 24
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  2165
    '\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: 46592
diff changeset
  2166
  added      : unrelated-n, ;
46595
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46594
diff changeset
  2167
  ##### revision "o-1" #####
46593
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  2168
  1 sidedata entries
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  2169
   entry-0014 size 24
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  2170
    '\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: 46592
diff changeset
  2171
  added      : unrelated-o, ;
46595
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46594
diff changeset
  2172
  ##### revision "mFG,Om" #####
46593
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  2173
  1 sidedata entries
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  2174
   entry-0014 size 4
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  2175
    '\x00\x00\x00\x00'
46595
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46594
diff changeset
  2176
  ##### revision "mO,FGm" #####
46593
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  2177
  1 sidedata entries
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  2178
   entry-0014 size 4
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  2179
    '\x00\x00\x00\x00'
46595
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46594
diff changeset
  2180
  ##### revision "mGF,Nm" #####
46593
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  2181
  1 sidedata entries
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  2182
   entry-0014 size 4
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  2183
    '\x00\x00\x00\x00'
46595
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46594
diff changeset
  2184
  ##### revision "mN,GFm" #####
46593
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  2185
  1 sidedata entries
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  2186
   entry-0014 size 4
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  2187
    '\x00\x00\x00\x00'
46598
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46597
diff changeset
  2188
  ##### 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: 46597
diff changeset
  2189
  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: 46597
diff changeset
  2190
   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: 46597
diff changeset
  2191
    '\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: 46597
diff changeset
  2192
  ##### 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: 46597
diff changeset
  2193
  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: 46597
diff changeset
  2194
   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: 46597
diff changeset
  2195
    '\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: 46597
diff changeset
  2196
  ##### 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: 46597
diff changeset
  2197
  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: 46597
diff changeset
  2198
   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: 46597
diff changeset
  2199
    '\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: 46597
diff changeset
  2200
  ##### 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: 46597
diff changeset
  2201
  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: 46597
diff changeset
  2202
   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: 46597
diff changeset
  2203
    '\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
  2204
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  2205
#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
  2206
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  2207
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
  2208
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
  2209
==============================
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
  2210
46159
929054848d6c copies: properly match result during changeset centric copy tracing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46039
diff changeset
  2211
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: 46039
diff changeset
  2212
-------------------------------------------------------------------------
929054848d6c copies: properly match result during changeset centric copy tracing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46039
diff changeset
  2213
929054848d6c copies: properly match result during changeset centric copy tracing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46039
diff changeset
  2214
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: 46039
diff changeset
  2215
929054848d6c copies: properly match result during changeset centric copy tracing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46039
diff changeset
  2216
  $ 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: 46039
diff changeset
  2217
  A f
929054848d6c copies: properly match result during changeset centric copy tracing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46039
diff changeset
  2218
    a
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  2219
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  2220
    p
46159
929054848d6c copies: properly match result during changeset centric copy tracing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46039
diff changeset
  2221
  R a
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  2222
  R p
46159
929054848d6c copies: properly match result during changeset centric copy tracing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46039
diff changeset
  2223
  $ 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: 46039
diff changeset
  2224
  A f
929054848d6c copies: properly match result during changeset centric copy tracing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46039
diff changeset
  2225
    a (no-changeset no-compatibility !)
929054848d6c copies: properly match result during changeset centric copy tracing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46039
diff changeset
  2226
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
  2227
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
  2228
---------------------------------------------------------------
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
  2229
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
  2230
- 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
  2231
- 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
  2232
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
  2233
  $ hg log -G --rev '::(desc("mABm")+desc("mBAm"))'
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  2234
  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
  2235
  |\
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  2236
  +---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
  2237
  | |/
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  2238
  | 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
  2239
  | |
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  2240
  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
  2241
  | |
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  2242
  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
  2243
  |/
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  2244
  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
  2245
  |
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  2246
  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
  2247
  |
46649
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46607
diff changeset
  2248
  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
  2249
  
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
  2250
44679
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
  2251
  $ 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: 44678
diff changeset
  2252
  A f
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
  2253
    d
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
  2254
  R d
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
  2255
  $ 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: 44678
diff changeset
  2256
  A f
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
  2257
    d
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
  2258
  R d
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
  2259
  $ 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: 44678
diff changeset
  2260
  M b
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
  2261
  $ 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: 44678
diff changeset
  2262
  M b
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
  2263
  $ 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: 44678
diff changeset
  2264
  M b
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
  2265
  A f
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
  2266
    d
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
  2267
  R d
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
  2268
  $ 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: 44678
diff changeset
  2269
  M b
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
  2270
  A f
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
  2271
    d
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
  2272
  R d
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
  2273
  $ 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: 44678
diff changeset
  2274
  M b
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
  2275
  A f
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
  2276
    a
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  2277
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  2278
    p
44679
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
  2279
  R a
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  2280
  R p
44679
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
  2281
  $ 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: 44678
diff changeset
  2282
  M b
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
  2283
  A f
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
  2284
    a
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  2285
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  2286
    p
44679
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
  2287
  R a
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  2288
  R p
44679
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
  2289
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
  2290
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: 44678
diff changeset
  2291
-------------------------------------
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
  2292
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
  2293
case summary:
44327
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2294
- 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
  2295
- 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
  2296
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
  2297
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2298
  $ hg log -G --rev '::(desc("mCBm")+desc("mBCm"))'
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  2299
  o  mCBm-1 re-add d
44327
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2300
  |
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  2301
  o    mCBm-0 simple merge - C side: delete a file with copies history , B side: unrelated update - the other way
44327
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2302
  |\
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  2303
  | | o  mBCm-1 re-add d
44327
f9dfb56ed6e8 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
  | | |
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  2305
  +---o  mBCm-0 simple merge - C side: delete a file with copies history , B side: unrelated update - one way
44327
f9dfb56ed6e8 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
  | |/
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  2307
  | o  c-1 delete d
44327
f9dfb56ed6e8 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
  | |
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  2309
  o |  b-1: b update
44327
f9dfb56ed6e8 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
  |/
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  2311
  o  i-2: c -move-> d, s -move-> t
44327
f9dfb56ed6e8 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
  |
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  2313
  o  i-1: a -move-> c, p -move-> s
44327
f9dfb56ed6e8 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
  |
46649
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46607
diff changeset
  2315
  o  i-0 initial commit: a b h p q r
44327
f9dfb56ed6e8 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
  
f9dfb56ed6e8 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
- 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
  2318
f9dfb56ed6e8 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
  $ 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
  2320
  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
  2321
  $ 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
  2322
  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
  2323
  $ 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
  2324
  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
  2325
  $ 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
  2326
  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
  2327
  $ 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
  2328
  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
  2329
  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
  2330
  $ 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
  2331
  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
  2332
  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
  2333
  $ 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
  2334
  M b
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  2335
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  2336
    p
44327
f9dfb56ed6e8 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
  R a
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  2338
  R p
44327
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2339
  $ 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
  2340
  M b
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  2341
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  2342
    p
44327
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2343
  R a
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  2344
  R p
44327
f9dfb56ed6e8 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
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2346
- 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
  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
  $ 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
  2349
  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
  2350
  $ 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
  2351
  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
  2352
  $ 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
  2353
  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
  2354
  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
  2355
  $ 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
  2356
  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
  2357
  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
  2358
  $ 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
  2359
  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
  2360
  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
  2361
  $ 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
  2362
  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
  2363
  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
  2364
  $ 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
  2365
  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
  2366
  A d
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  2367
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  2368
    p
44327
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2369
  R a
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  2370
  R p
44327
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2371
  $ 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
  2372
  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
  2373
  A d
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  2374
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  2375
    p
44327
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2376
  R a
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  2377
  R p
44327
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2378
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2379
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
  2380
---------------------------------------------------
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2381
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2382
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
  2383
- 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
  2384
- 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
  2385
44679
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
  2386
  $ hg log -G --rev '::(desc("mDBm")+desc("mBDm"))'
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  2387
  o    mDBm-0 simple merge - B side: unrelated update, D side: delete and recreate a file (with different content) - the other way
44679
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
  2388
  |\
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  2389
  +---o  mBDm-0 simple merge - B side: unrelated update, D side: delete and recreate a file (with different content) - one way
44679
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
  2390
  | |/
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  2391
  | o  d-2 re-add d
44679
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
  2392
  | |
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  2393
  | o  d-1 delete d
44679
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
  2394
  | |
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  2395
  o |  b-1: b update
44679
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
  2396
  |/
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  2397
  o  i-2: c -move-> d, s -move-> t
44679
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
  2398
  |
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  2399
  o  i-1: a -move-> c, p -move-> s
44679
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
  2400
  |
46649
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46607
diff changeset
  2401
  o  i-0 initial commit: a b h p q r
44679
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
  2402
  
44327
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2403
  $ 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
  2404
  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
  2405
  $ 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
  2406
  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
  2407
  $ 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
  2408
  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
  2409
  $ 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
  2410
  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
  2411
  $ 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
  2412
  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
  2413
  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
  2414
  $ 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
  2415
  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
  2416
  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
  2417
44472
b8882f5d7cb4 copies-tests: update the analysis of the BD/DB cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44471
diff changeset
  2418
The bugs makes recorded copy is different depending of where we started the merge from since
44327
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2419
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2420
  $ hg manifest --debug --rev 'desc("mBDm-0")' | grep '644   d'
44688
1b8fd4af3318 mergestate: store about files resolved in favour of other
Pulkit Goyal <7895pulkit@gmail.com>
parents: 44679
diff changeset
  2421
  b004912a8510032a0350a74daa2803dadfb00e12 644   d
44327
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2422
  $ 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
  2423
  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
  2424
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2425
  $ 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
  2426
  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
  2427
  $ hg manifest --debug --rev 'desc("b-1")' | grep '644   d'
46578
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46577
diff changeset
  2428
  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: 46577
diff changeset
  2429
  ae258f702dfeca05bf9b6a22a97a4b5645570f11 644   d (changeset !)
47033
7383df4f6e19 tests: run python script through quoted interpreter instead of directly
Matt Harbison <matt_harbison@yahoo.com>
parents: 46884
diff changeset
  2430
  $ hg debugindex d | head -n 4 | "$PYTHON" ../no-linkrev
44327
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2431
     rev linkrev nodeid       p1           p2
46596
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46595
diff changeset
  2432
       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: 46595
diff changeset
  2433
       0       * ae258f702dfe 000000000000 000000000000 (changeset !)
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46595
diff changeset
  2434
       1       * b004912a8510 000000000000 000000000000
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46595
diff changeset
  2435
       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: 46595
diff changeset
  2436
       2       * 5cce88bf349f ae258f702dfe 000000000000 (changeset !)
44327
f9dfb56ed6e8 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
45655
a357688e3c9c tests: update/remove outdated comments in test-copies-chain-merge.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45472
diff changeset
  2438
Log output should not include a merge commit as it did not happen
44472
b8882f5d7cb4 copies-tests: update the analysis of the BD/DB cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44471
diff changeset
  2439
44327
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2440
  $ hg log -Gfr 'desc("mBDm-0")' d
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  2441
  o  d-2 re-add d
44327
f9dfb56ed6e8 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
  |
44688
1b8fd4af3318 mergestate: store about files resolved in favour of other
Pulkit Goyal <7895pulkit@gmail.com>
parents: 44679
diff changeset
  2443
  ~
44327
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2444
f9dfb56ed6e8 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
  $ hg log -Gfr 'desc("mDBm-0")' d
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  2446
  o  d-2 re-add d
44327
f9dfb56ed6e8 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
  |
f9dfb56ed6e8 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
  ~
f9dfb56ed6e8 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
f9dfb56ed6e8 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-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
  2451
  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
  2452
  A d
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  2453
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  2454
    p
44327
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2455
  R a
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  2456
  R p
44327
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2457
  $ 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
  2458
  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
  2459
  A d
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  2460
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  2461
    p
44327
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2462
  R a
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  2463
  R p
44327
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2464
44679
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
  2465
44473
275365d85e3f copies-tests: clarify the description of the EA/AE cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44472
diff changeset
  2466
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: 44472
diff changeset
  2467
--------------------------------------------
44327
f9dfb56ed6e8 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
46590
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46589
diff changeset
  2469
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: 46589
diff changeset
  2470
``````````````````````````````````````````
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46589
diff changeset
  2471
44473
275365d85e3f copies-tests: clarify the description of the EA/AE cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44472
diff changeset
  2472
- 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: 44472
diff changeset
  2473
- the "a-" branch renaming d to f (through e)
44327
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2474
44679
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
  2475
  $ hg log -G --rev '::(desc("mAEm")+desc("mEAm"))'
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  2476
  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
44679
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
  2477
  |\
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  2478
  +---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
44679
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
  2479
  | |/
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  2480
  | o  e-2 g -move-> f
44679
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
  2481
  | |
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  2482
  | o  e-1 b -move-> g
44679
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
  2483
  | |
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  2484
  o |  a-2: e -move-> f
44679
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
  2485
  | |
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  2486
  o |  a-1: d -move-> e
44679
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
  2487
  |/
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  2488
  o  i-2: c -move-> d, s -move-> t
44679
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
  2489
  |
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  2490
  o  i-1: a -move-> c, p -move-> s
44679
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
  2491
  |
46649
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46607
diff changeset
  2492
  o  i-0 initial commit: a b h p q r
44679
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
  2493
  
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2494
#if no-changeset
44327
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2495
  $ hg manifest --debug --rev 'desc("mAEm-0")' | grep '644   f'
46578
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46577
diff changeset
  2496
  2ff93c643948464ee1f871867910ae43a45b0bea 644   f
44327
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2497
  $ hg manifest --debug --rev 'desc("mEAm-0")' | grep '644   f'
46578
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46577
diff changeset
  2498
  2ff93c643948464ee1f871867910ae43a45b0bea 644   f
44327
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2499
  $ hg manifest --debug --rev 'desc("a-2")' | grep '644   f'
46578
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46577
diff changeset
  2500
  b76eb76580df486c3d51d63c5c210d4dd43a8ac7 644   f
44327
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2501
  $ hg manifest --debug --rev 'desc("e-2")' | grep '644   f'
46578
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46577
diff changeset
  2502
  e8825b386367b29fec957283a80bb47b47483fe1 644   f
47033
7383df4f6e19 tests: run python script through quoted interpreter instead of directly
Matt Harbison <matt_harbison@yahoo.com>
parents: 46884
diff changeset
  2503
  $ hg debugindex f | "$PYTHON" ../no-linkrev
44327
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2504
     rev linkrev nodeid       p1           p2
46596
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46595
diff changeset
  2505
       0       * b76eb76580df 000000000000 000000000000
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46595
diff changeset
  2506
       1       * e8825b386367 000000000000 000000000000
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46595
diff changeset
  2507
       2       * 2ff93c643948 b76eb76580df e8825b386367
46597
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46596
diff changeset
  2508
       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: 46596
diff changeset
  2509
       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
  2510
#else
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2511
  $ hg manifest --debug --rev 'desc("mAEm-0")' | grep '644   f'
46578
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46577
diff changeset
  2512
  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
  2513
  $ hg manifest --debug --rev 'desc("mEAm-0")' | grep '644   f'
46578
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46577
diff changeset
  2514
  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
  2515
  $ hg manifest --debug --rev 'desc("a-2")' | grep '644   f'
46578
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46577
diff changeset
  2516
  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
  2517
  $ hg manifest --debug --rev 'desc("e-2")' | grep '644   f'
46578
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46577
diff changeset
  2518
  ae258f702dfeca05bf9b6a22a97a4b5645570f11 644   f
47033
7383df4f6e19 tests: run python script through quoted interpreter instead of directly
Matt Harbison <matt_harbison@yahoo.com>
parents: 46884
diff changeset
  2519
  $ hg debugindex f | "$PYTHON" ../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
  2520
     rev linkrev nodeid       p1           p2
46596
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46595
diff changeset
  2521
       0       * ae258f702dfe 000000000000 000000000000
46597
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46596
diff changeset
  2522
       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: 46596
diff changeset
  2523
       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
  2524
#endif
44858
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44688
diff changeset
  2525
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44688
diff changeset
  2526
# 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: 44688
diff changeset
  2527
# 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: 44688
diff changeset
  2528
# 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: 44688
diff changeset
  2529
44327
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2530
  $ hg status --copies --rev 'desc("a-2")' --rev 'desc("mAEm-0")'
46577
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46538
diff changeset
  2531
  M f (no-changeset !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46538
diff changeset
  2532
    b (no-filelog no-changeset !)
44327
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2533
  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
  2534
  $ hg status --copies --rev 'desc("a-2")' --rev 'desc("mEAm-0")'
46577
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46538
diff changeset
  2535
  M f (no-changeset !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46538
diff changeset
  2536
    b (no-filelog no-changeset !)
44327
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2537
  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
  2538
  $ hg status --copies --rev 'desc("e-2")' --rev 'desc("mAEm-0")'
46577
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46538
diff changeset
  2539
  M f (no-changeset !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46538
diff changeset
  2540
    d (no-filelog no-changeset !)
44327
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2541
  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
  2542
  $ hg status --copies --rev 'desc("e-2")' --rev 'desc("mEAm-0")'
46577
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46538
diff changeset
  2543
  M f (no-changeset !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46538
diff changeset
  2544
    d (no-filelog no-changeset !)
44327
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2545
  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
  2546
  $ 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
  2547
  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
  2548
    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
  2549
  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
  2550
  $ 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
  2551
  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
  2552
    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
  2553
  R b
44858
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44688
diff changeset
  2554
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44688
diff changeset
  2555
# 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: 44688
diff changeset
  2556
#
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44688
diff changeset
  2557
# 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: 44688
diff changeset
  2558
# 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: 44688
diff changeset
  2559
# 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: 44688
diff changeset
  2560
# 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: 44688
diff changeset
  2561
#
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44688
diff changeset
  2562
# 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: 44688
diff changeset
  2563
# 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: 44688
diff changeset
  2564
# 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: 44688
diff changeset
  2565
44327
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2566
  $ 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
  2567
  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
  2568
    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
  2569
  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
  2570
  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
  2571
  $ 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
  2572
  A f
44858
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44688
diff changeset
  2573
    d (filelog !)
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44688
diff changeset
  2574
    b (no-filelog !)
44327
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2575
  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
  2576
  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
  2577
  $ 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
  2578
  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
  2579
    a
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  2580
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  2581
    p
44327
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2582
  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
  2583
  R b
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  2584
  R p
44327
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2585
  $ 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
  2586
  A f
44858
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44688
diff changeset
  2587
    a (filelog !)
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44688
diff changeset
  2588
    b (no-filelog !)
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  2589
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  2590
    p
44327
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2591
  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
  2592
  R b
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  2593
  R p
44476
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44475
diff changeset
  2594
44679
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
  2595
46590
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46589
diff changeset
  2596
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: 46589
diff changeset
  2597
````````````````````````````````````````````````````````````
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46589
diff changeset
  2598
44679
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
  2599
Note:
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
  2600
| 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: 44678
diff changeset
  2601
| 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: 44678
diff changeset
  2602
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
  2603
44476
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44475
diff changeset
  2604
Merge:
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44475
diff changeset
  2605
- 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: 44475
diff changeset
  2606
- 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: 44475
diff changeset
  2607
44679
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
  2608
  $ hg log -G --rev '::(desc("mBFm")+desc("mFBm"))'
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  2609
  o    mFBm-0 simple merge - B side: unrelated change, F side: overwrite d with a copy (from h->i->d) - the other way
44679
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
  2610
  |\
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  2611
  +---o  mBFm-0 simple merge - B side: unrelated change, F side: overwrite d with a copy (from h->i->d) - one way
44679
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
  2612
  | |/
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  2613
  | o  f-2: rename i -> d
44679
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
  2614
  | |
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  2615
  | o  f-1: rename h -> i
44679
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
  2616
  | |
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  2617
  o |  b-1: b update
44679
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
  2618
  |/
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  2619
  o  i-2: c -move-> d, s -move-> t
44679
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
  2620
  |
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  2621
  o  i-1: a -move-> c, p -move-> s
44679
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
  2622
  |
46649
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46607
diff changeset
  2623
  o  i-0 initial commit: a b h p q r
44679
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
  2624
  
44476
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44475
diff changeset
  2625
  $ 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: 44475
diff changeset
  2626
  M b
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44475
diff changeset
  2627
  A d
44688
1b8fd4af3318 mergestate: store about files resolved in favour of other
Pulkit Goyal <7895pulkit@gmail.com>
parents: 44679
diff changeset
  2628
    h
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  2629
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  2630
    p
44476
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44475
diff changeset
  2631
  R a
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44475
diff changeset
  2632
  R h
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  2633
  R p
44476
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44475
diff changeset
  2634
  $ 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: 44475
diff changeset
  2635
  M b
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44475
diff changeset
  2636
  A d
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44475
diff changeset
  2637
    h
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  2638
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  2639
    p
44476
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44475
diff changeset
  2640
  R a
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44475
diff changeset
  2641
  R h
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  2642
  R p
44476
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44475
diff changeset
  2643
  $ hg status --copies --rev 'desc("b-1")' --rev 'desc("mBFm-0")'
46577
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46538
diff changeset
  2644
  M d (no-changeset !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46538
diff changeset
  2645
    h (no-filelog no-changeset !)
44476
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44475
diff changeset
  2646
  R h
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44475
diff changeset
  2647
  $ 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: 44475
diff changeset
  2648
  M b
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44475
diff changeset
  2649
  $ 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: 44475
diff changeset
  2650
  M b
46577
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46538
diff changeset
  2651
  M d (no-changeset !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46538
diff changeset
  2652
    i (no-filelog no-changeset !)
44476
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44475
diff changeset
  2653
  R i
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44475
diff changeset
  2654
  $ hg status --copies --rev 'desc("b-1")' --rev 'desc("mFBm-0")'
46577
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46538
diff changeset
  2655
  M d (no-changeset !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46538
diff changeset
  2656
    h (no-filelog no-changeset !)
44476
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44475
diff changeset
  2657
  R h
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44475
diff changeset
  2658
  $ 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: 44475
diff changeset
  2659
  M b
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44475
diff changeset
  2660
  $ 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: 44475
diff changeset
  2661
  M b
46577
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46538
diff changeset
  2662
  M d (no-changeset !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46538
diff changeset
  2663
    i (no-filelog no-changeset !)
44476
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44475
diff changeset
  2664
  R i
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44475
diff changeset
  2665
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2666
#if no-changeset
44476
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44475
diff changeset
  2667
  $ hg log -Gfr 'desc("mBFm-0")' d
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  2668
  o  f-2: rename i -> d
44476
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44475
diff changeset
  2669
  |
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  2670
  o  f-1: rename h -> i
44688
1b8fd4af3318 mergestate: store about files resolved in favour of other
Pulkit Goyal <7895pulkit@gmail.com>
parents: 44679
diff changeset
  2671
  :
46649
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46607
diff changeset
  2672
  o  i-0 initial commit: a b h p q r
44476
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44475
diff changeset
  2673
  
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2674
#else
45801
6620caf427ec tests: add notes about broken `hg log --follow <file>` with copies in extras
Martin von Zweigbergk <martinvonz@google.com>
parents: 45788
diff changeset
  2675
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
  2676
  $ hg log -Gfr 'desc("mBFm-0")' d
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  2677
  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
  2678
  |
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2679
  ~
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2680
#endif
44476
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44475
diff changeset
  2681
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2682
#if no-changeset
44476
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44475
diff changeset
  2683
  $ hg log -Gfr 'desc("mFBm-0")' d
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  2684
  o  f-2: rename i -> d
44476
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44475
diff changeset
  2685
  |
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  2686
  o  f-1: rename h -> i
44476
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44475
diff changeset
  2687
  :
46649
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46607
diff changeset
  2688
  o  i-0 initial commit: a b h p q r
44476
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44475
diff changeset
  2689
  
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2690
#else
45801
6620caf427ec tests: add notes about broken `hg log --follow <file>` with copies in extras
Martin von Zweigbergk <martinvonz@google.com>
parents: 45788
diff changeset
  2691
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
  2692
  $ hg log -Gfr 'desc("mFBm-0")' d
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  2693
  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
  2694
  |
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2695
  ~
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2696
#endif
44477
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: 44476
diff changeset
  2697
46604
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46603
diff changeset
  2698
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46603
diff changeset
  2699
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: 46603
diff changeset
  2700
`````````````````````````````````````````````````````````````````````````````````````
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46603
diff changeset
  2701
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46603
diff changeset
  2702
Merge:
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46603
diff changeset
  2703
- 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: 46603
diff changeset
  2704
- 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: 46603
diff changeset
  2705
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46603
diff changeset
  2706
  $ 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: 46603
diff changeset
  2707
  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: 46603
diff changeset
  2708
  |\
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46603
diff changeset
  2709
  +---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: 46603
diff changeset
  2710
  | |/
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46603
diff changeset
  2711
  | 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: 46603
diff changeset
  2712
  | |
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46603
diff changeset
  2713
  | 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: 46603
diff changeset
  2714
  | |
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46603
diff changeset
  2715
  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: 46603
diff changeset
  2716
  |/
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46603
diff changeset
  2717
  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: 46603
diff changeset
  2718
  |
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46603
diff changeset
  2719
  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: 46603
diff changeset
  2720
  |
46649
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46607
diff changeset
  2721
  o  i-0 initial commit: a b h p q r
46604
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46603
diff changeset
  2722
  
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46603
diff changeset
  2723
  $ 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: 46603
diff changeset
  2724
  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: 46603
diff changeset
  2725
  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: 46603
diff changeset
  2726
    a
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46603
diff changeset
  2727
  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: 46603
diff changeset
  2728
    r
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46603
diff changeset
  2729
  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: 46603
diff changeset
  2730
  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: 46603
diff changeset
  2731
  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: 46603
diff changeset
  2732
  $ 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: 46603
diff changeset
  2733
  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: 46603
diff changeset
  2734
  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: 46603
diff changeset
  2735
    a
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46603
diff changeset
  2736
  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: 46603
diff changeset
  2737
    r
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46603
diff changeset
  2738
  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: 46603
diff changeset
  2739
  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: 46603
diff changeset
  2740
  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: 46603
diff changeset
  2741
  $ 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: 46603
diff changeset
  2742
  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: 46603
diff changeset
  2743
    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: 46603
diff changeset
  2744
  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: 46603
diff changeset
  2745
  $ 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: 46603
diff changeset
  2746
  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: 46603
diff changeset
  2747
  $ 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: 46603
diff changeset
  2748
  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: 46603
diff changeset
  2749
  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: 46603
diff changeset
  2750
    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: 46603
diff changeset
  2751
  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: 46603
diff changeset
  2752
  $ 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: 46603
diff changeset
  2753
  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: 46603
diff changeset
  2754
    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: 46603
diff changeset
  2755
  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: 46603
diff changeset
  2756
  $ 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: 46603
diff changeset
  2757
  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: 46603
diff changeset
  2758
  $ 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: 46603
diff changeset
  2759
  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: 46603
diff changeset
  2760
  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: 46603
diff changeset
  2761
    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: 46603
diff changeset
  2762
  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: 46603
diff changeset
  2763
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46603
diff changeset
  2764
#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: 46603
diff changeset
  2765
  $ 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: 46603
diff changeset
  2766
  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: 46603
diff changeset
  2767
  |
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46603
diff changeset
  2768
  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: 46603
diff changeset
  2769
  |
46649
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46607
diff changeset
  2770
  o  i-0 initial commit: a b h p q r
46604
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46603
diff changeset
  2771
  
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46603
diff changeset
  2772
#else
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46603
diff changeset
  2773
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: 46603
diff changeset
  2774
  $ 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: 46603
diff changeset
  2775
  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: 46603
diff changeset
  2776
  |
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46603
diff changeset
  2777
  ~
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46603
diff changeset
  2778
#endif
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46603
diff changeset
  2779
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46603
diff changeset
  2780
#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: 46603
diff changeset
  2781
  $ 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: 46603
diff changeset
  2782
  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: 46603
diff changeset
  2783
  |
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46603
diff changeset
  2784
  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: 46603
diff changeset
  2785
  |
46649
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46607
diff changeset
  2786
  o  i-0 initial commit: a b h p q r
46604
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46603
diff changeset
  2787
  
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46603
diff changeset
  2788
#else
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46603
diff changeset
  2789
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: 46603
diff changeset
  2790
  $ 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: 46603
diff changeset
  2791
  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: 46603
diff changeset
  2792
  |
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46603
diff changeset
  2793
  ~
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46603
diff changeset
  2794
#endif
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46603
diff changeset
  2795
46590
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46589
diff changeset
  2796
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: 46589
diff changeset
  2797
``````````````````````````````````````````````
44679
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
  2798
44477
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: 44476
diff changeset
  2799
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: 44476
diff changeset
  2800
- 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: 44476
diff changeset
  2801
- 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: 44476
diff changeset
  2802
44679
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
  2803
Unlike in the 'BD/DB' cases, an actual merge happened here. So we should
44477
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: 44476
diff changeset
  2804
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: 44476
diff changeset
  2805
44679
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
  2806
  $ hg log -G --rev '::(desc("mDGm")+desc("mGDm"))'
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  2807
  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
44679
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
  2808
  |\
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  2809
  +---o  mDGm-0 actual content merge, copies on one side - D side: delete and re-add (different content), G side: update content - one way
44679
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
  2810
  | |/
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  2811
  | o  g-1: update d
44679
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
  2812
  | |
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  2813
  o |  d-2 re-add d
44679
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
  2814
  | |
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  2815
  o |  d-1 delete d
44679
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
  2816
  |/
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  2817
  o  i-2: c -move-> d, s -move-> t
44679
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
  2818
  |
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  2819
  o  i-1: a -move-> c, p -move-> s
44679
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
  2820
  |
46649
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46607
diff changeset
  2821
  o  i-0 initial commit: a b h p q r
44679
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
  2822
  
44858
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44688
diff changeset
  2823
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: 44688
diff changeset
  2824
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: 44688
diff changeset
  2825
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44688
diff changeset
  2826
(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: 44688
diff changeset
  2827
revision numbers)
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44688
diff changeset
  2828
44477
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: 44476
diff changeset
  2829
  $ 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: 44476
diff changeset
  2830
  A d
44858
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44688
diff changeset
  2831
    a (filelog !)
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  2832
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  2833
    p
44477
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: 44476
diff changeset
  2834
  R a
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  2835
  R p
44477
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: 44476
diff changeset
  2836
  $ 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: 44476
diff changeset
  2837
  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: 44476
diff changeset
  2838
    a
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  2839
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  2840
    p
44477
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: 44476
diff changeset
  2841
  R a
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  2842
  R p
44477
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: 44476
diff changeset
  2843
  $ 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: 44476
diff changeset
  2844
  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: 44476
diff changeset
  2845
  $ 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: 44476
diff changeset
  2846
  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: 44476
diff changeset
  2847
  $ 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: 44476
diff changeset
  2848
  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: 44476
diff changeset
  2849
  $ 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: 44476
diff changeset
  2850
  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: 44476
diff changeset
  2851
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2852
#if no-changeset
44477
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: 44476
diff changeset
  2853
  $ hg log -Gfr 'desc("mDGm-0")' d
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  2854
  o    mDGm-0 actual content merge, copies on one side - D side: delete and re-add (different content), G side: update content - one way
44477
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: 44476
diff changeset
  2855
  |\
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  2856
  | o  g-1: update d
44477
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: 44476
diff changeset
  2857
  | |
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  2858
  o |  d-2 re-add d
44477
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: 44476
diff changeset
  2859
  |/
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  2860
  o  i-2: c -move-> d, s -move-> t
44477
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: 44476
diff changeset
  2861
  |
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  2862
  o  i-1: a -move-> c, p -move-> s
44477
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: 44476
diff changeset
  2863
  |
46649
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46607
diff changeset
  2864
  o  i-0 initial commit: a b h p q r
44477
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: 44476
diff changeset
  2865
  
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2866
#else
45801
6620caf427ec tests: add notes about broken `hg log --follow <file>` with copies in extras
Martin von Zweigbergk <martinvonz@google.com>
parents: 45788
diff changeset
  2867
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
  2868
  $ hg log -Gfr 'desc("mDGm-0")' d
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  2869
  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
  2870
  |\
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  2871
  | 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
  2872
  | |
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  2873
  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
  2874
  |/
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  2875
  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
  2876
  |
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2877
  ~
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2878
#endif
44477
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: 44476
diff changeset
  2879
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: 44476
diff changeset
  2880
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2881
#if no-changeset
44477
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: 44476
diff changeset
  2882
  $ hg log -Gfr 'desc("mDGm-0")' d
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  2883
  o    mDGm-0 actual content merge, copies on one side - D side: delete and re-add (different content), G side: update content - one way
44477
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: 44476
diff changeset
  2884
  |\
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  2885
  | o  g-1: update d
44477
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: 44476
diff changeset
  2886
  | |
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  2887
  o |  d-2 re-add d
44477
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: 44476
diff changeset
  2888
  |/
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  2889
  o  i-2: c -move-> d, s -move-> t
44477
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: 44476
diff changeset
  2890
  |
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  2891
  o  i-1: a -move-> c, p -move-> s
44477
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: 44476
diff changeset
  2892
  |
46649
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46607
diff changeset
  2893
  o  i-0 initial commit: a b h p q r
44477
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: 44476
diff changeset
  2894
  
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2895
#else
45801
6620caf427ec tests: add notes about broken `hg log --follow <file>` with copies in extras
Martin von Zweigbergk <martinvonz@google.com>
parents: 45788
diff changeset
  2896
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
  2897
  $ hg log -Gfr 'desc("mDGm-0")' d
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  2898
  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
  2899
  |\
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  2900
  | 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
  2901
  | |
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  2902
  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
  2903
  |/
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  2904
  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
  2905
  |
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2906
  ~
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2907
#endif
44478
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44477
diff changeset
  2908
46590
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46589
diff changeset
  2909
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: 46589
diff changeset
  2910
````````````````````````````````````````````````````````````````````````````````````````````
44478
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44477
diff changeset
  2911
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44477
diff changeset
  2912
Merge:
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44477
diff changeset
  2913
- 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: 44477
diff changeset
  2914
- 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: 44477
diff changeset
  2915
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44477
diff changeset
  2916
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: 44477
diff changeset
  2917
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: 44477
diff changeset
  2918
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44477
diff changeset
  2919
44679
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
  2920
  $ hg log -G --rev '::(desc("mGFm")+desc("mFGm"))'
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  2921
  o    mGFm-0 merge - G side: content change, F side: copy overwrite, no content change - the other way
44679
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
  2922
  |\
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  2923
  +---o  mFGm-0 merge - G side: content change, F side: copy overwrite, no content change - one way
44679
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
  2924
  | |/
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  2925
  | o  g-1: update d
44679
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
  2926
  | |
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  2927
  o |  f-2: rename i -> d
44679
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
  2928
  | |
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  2929
  o |  f-1: rename h -> i
44679
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
  2930
  |/
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  2931
  o  i-2: c -move-> d, s -move-> t
44679
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
  2932
  |
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  2933
  o  i-1: a -move-> c, p -move-> s
44679
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
  2934
  |
46649
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46607
diff changeset
  2935
  o  i-0 initial commit: a b h p q r
44679
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44678
diff changeset
  2936
  
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
  2937
1d6aac94e6d5 copies: explain the "arbitrary" copy source pick in case of conflict
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46159
diff changeset
  2938
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
  2939
| 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
  2940
| "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
  2941
|
1d6aac94e6d5 copies: explain the "arbitrary" copy source pick in case of conflict
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46159
diff changeset
  2942
| 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
  2943
1d6aac94e6d5 copies: explain the "arbitrary" copy source pick in case of conflict
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46159
diff changeset
  2944
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
  2945
1d6aac94e6d5 copies: explain the "arbitrary" copy source pick in case of conflict
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46159
diff changeset
  2946
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
  2947
1d6aac94e6d5 copies: explain the "arbitrary" copy source pick in case of conflict
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46159
diff changeset
  2948
  $ hg manifest --debug 'desc("g-1")' | egrep 'd$'
46578
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46577
diff changeset
  2949
  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: 46577
diff changeset
  2950
  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
  2951
  $ 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
  2952
  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
  2953
    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
  2954
1d6aac94e6d5 copies: explain the "arbitrary" copy source pick in case of conflict
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46159
diff changeset
  2955
  $ hg manifest --debug 'desc("f-2")' | egrep 'd$'
46578
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46577
diff changeset
  2956
  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: 46577
diff changeset
  2957
  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
  2958
  $ 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
  2959
  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
  2960
    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
  2961
1d6aac94e6d5 copies: explain the "arbitrary" copy source pick in case of conflict
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46159
diff changeset
  2962
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
  2963
44478
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44477
diff changeset
  2964
  $ 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: 44477
diff changeset
  2965
  A d
46577
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46538
diff changeset
  2966
    h (no-filelog !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46538
diff changeset
  2967
    a (filelog !)
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  2968
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  2969
    p
44478
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44477
diff changeset
  2970
  R a
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44477
diff changeset
  2971
  R h
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  2972
  R p
44478
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44477
diff changeset
  2973
  $ 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: 44477
diff changeset
  2974
  A d
46577
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46538
diff changeset
  2975
    a (no-changeset !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46538
diff changeset
  2976
    h (changeset !)
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  2977
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  2978
    p
44478
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44477
diff changeset
  2979
  R a
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44477
diff changeset
  2980
  R h
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  2981
  R p
44478
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44477
diff changeset
  2982
  $ 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: 44477
diff changeset
  2983
  M d
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44477
diff changeset
  2984
  $ 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: 44477
diff changeset
  2985
  M d
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44477
diff changeset
  2986
  $ 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: 44477
diff changeset
  2987
  M d
44858
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44688
diff changeset
  2988
    i (no-filelog !)
44478
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44477
diff changeset
  2989
  R i
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44477
diff changeset
  2990
  $ 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: 44477
diff changeset
  2991
  M d
44858
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44688
diff changeset
  2992
    i (no-filelog !)
44478
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44477
diff changeset
  2993
  R i
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44477
diff changeset
  2994
  $ hg status --copies --rev 'desc("g-1")' --rev 'desc("mFGm-0")'
46577
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46538
diff changeset
  2995
  M d (no-changeset !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46538
diff changeset
  2996
    h (no-filelog no-changeset !)
44478
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44477
diff changeset
  2997
  R h
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44477
diff changeset
  2998
  $ hg status --copies --rev 'desc("g-1")' --rev 'desc("mGFm-0")'
46577
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46538
diff changeset
  2999
  M d (no-changeset !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46538
diff changeset
  3000
    h (no-filelog no-changeset !)
44478
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44477
diff changeset
  3001
  R h
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44477
diff changeset
  3002
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  3003
#if no-changeset
44478
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44477
diff changeset
  3004
  $ hg log -Gfr 'desc("mFGm-0")' d
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  3005
  o    mFGm-0 merge - G side: content change, F side: copy overwrite, no content change - one way
44478
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44477
diff changeset
  3006
  |\
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  3007
  | o  g-1: update d
44478
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44477
diff changeset
  3008
  | |
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  3009
  o |  f-2: rename i -> d
44478
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44477
diff changeset
  3010
  | |
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  3011
  o |  f-1: rename h -> i
44478
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44477
diff changeset
  3012
  |/
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  3013
  o  i-2: c -move-> d, s -move-> t
44478
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44477
diff changeset
  3014
  |
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  3015
  o  i-1: a -move-> c, p -move-> s
44478
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44477
diff changeset
  3016
  |
46649
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46607
diff changeset
  3017
  o  i-0 initial commit: a b h p q r
44478
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44477
diff changeset
  3018
  
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  3019
#else
45801
6620caf427ec tests: add notes about broken `hg log --follow <file>` with copies in extras
Martin von Zweigbergk <martinvonz@google.com>
parents: 45788
diff changeset
  3020
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
  3021
  $ hg log -Gfr 'desc("mFGm-0")' d
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  3022
  o  g-1: update d
46577
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46538
diff changeset
  3023
  |
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  3024
  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
  3025
  |
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  3026
  ~
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  3027
#endif
44478
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44477
diff changeset
  3028
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  3029
#if no-changeset
44478
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44477
diff changeset
  3030
  $ hg log -Gfr 'desc("mGFm-0")' d
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  3031
  o    mGFm-0 merge - G side: content change, F side: copy overwrite, no content change - the other way
44478
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44477
diff changeset
  3032
  |\
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  3033
  | o  g-1: update d
44478
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44477
diff changeset
  3034
  | |
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  3035
  o |  f-2: rename i -> d
44478
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44477
diff changeset
  3036
  | |
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  3037
  o |  f-1: rename h -> i
44478
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44477
diff changeset
  3038
  |/
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  3039
  o  i-2: c -move-> d, s -move-> t
44478
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44477
diff changeset
  3040
  |
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  3041
  o  i-1: a -move-> c, p -move-> s
44478
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44477
diff changeset
  3042
  |
46649
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46607
diff changeset
  3043
  o  i-0 initial commit: a b h p q r
44478
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44477
diff changeset
  3044
  
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  3045
#else
45801
6620caf427ec tests: add notes about broken `hg log --follow <file>` with copies in extras
Martin von Zweigbergk <martinvonz@google.com>
parents: 45788
diff changeset
  3046
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
  3047
  $ hg log -Gfr 'desc("mGFm-0")' d
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  3048
  o  g-1: update d
46577
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46538
diff changeset
  3049
  |
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  3050
  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
  3051
  |
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  3052
  ~
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  3053
#endif
45471
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44858
diff changeset
  3054
46603
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  3055
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: 46602
diff changeset
  3056
`````````````````````````````````````````````````````````````````````````
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  3057
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  3058
- 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: 46602
diff changeset
  3059
- 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: 46602
diff changeset
  3060
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  3061
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  3062
  $ 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: 46602
diff changeset
  3063
  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: 46602
diff changeset
  3064
  |\
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  3065
  +---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: 46602
diff changeset
  3066
  | |/
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  3067
  | 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: 46602
diff changeset
  3068
  | |
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  3069
  | 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: 46602
diff changeset
  3070
  | |
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  3071
  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: 46602
diff changeset
  3072
  | |
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  3073
  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: 46602
diff changeset
  3074
  |/
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  3075
  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: 46602
diff changeset
  3076
  |
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  3077
  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: 46602
diff changeset
  3078
  |
46649
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46607
diff changeset
  3079
  o  i-0 initial commit: a b h p q r
46603
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  3080
  
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  3081
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  3082
#if no-changeset
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  3083
  $ 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: 46602
diff changeset
  3084
  0946c662ef16e4e67397fd717389eb6693d41749 644   v
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  3085
  $ 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: 46602
diff changeset
  3086
  0db3aad7fcc1ec27fab57060e327b9e864ea0cc9 644   v
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  3087
  $ 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: 46602
diff changeset
  3088
  3f91841cd75cadc9a1f1b4e7c1aa6d411f76032e 644   v
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  3089
  $ 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: 46602
diff changeset
  3090
  c43c088b811fd27983c0a9aadf44f3343cd4cd7e 644   v
47033
7383df4f6e19 tests: run python script through quoted interpreter instead of directly
Matt Harbison <matt_harbison@yahoo.com>
parents: 46884
diff changeset
  3091
  $ hg debugindex v | "$PYTHON" ../no-linkrev
46603
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  3092
     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: 46602
diff changeset
  3093
       0       * 3f91841cd75c 000000000000 000000000000
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  3094
       1       * c43c088b811f 000000000000 000000000000
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  3095
       2       * 0946c662ef16 3f91841cd75c c43c088b811f
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  3096
       3       * 0db3aad7fcc1 c43c088b811f 3f91841cd75c
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  3097
#else
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  3098
  $ 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: 46602
diff changeset
  3099
  65fde9f6e4d4da23b3f610e07b53673ea9541d75 644   v
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  3100
  $ 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: 46602
diff changeset
  3101
  a098dda6413aecf154eefc976afc38b295acb7e5 644   v
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  3102
  $ 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: 46602
diff changeset
  3103
  5aed6a8dbff0301328c08360d24354d3d064cf0d 644   v
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  3104
  $ 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: 46602
diff changeset
  3105
  a38b2fa170219750dac9bc7d19df831f213ba708 644   v
47033
7383df4f6e19 tests: run python script through quoted interpreter instead of directly
Matt Harbison <matt_harbison@yahoo.com>
parents: 46884
diff changeset
  3106
  $ hg debugindex v | "$PYTHON" ../no-linkrev
46603
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  3107
     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: 46602
diff changeset
  3108
       0       * 5aed6a8dbff0 000000000000 000000000000
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  3109
       1       * a38b2fa17021 000000000000 000000000000
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  3110
       2       * 65fde9f6e4d4 5aed6a8dbff0 a38b2fa17021
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  3111
       3       * a098dda6413a a38b2fa17021 5aed6a8dbff0
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  3112
#endif
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  3113
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  3114
# 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: 46602
diff changeset
  3115
# 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: 46602
diff changeset
  3116
# 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: 46602
diff changeset
  3117
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  3118
  $ 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: 46602
diff changeset
  3119
  M v
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  3120
    r (no-filelog !)
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  3121
  R r
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  3122
  $ 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: 46602
diff changeset
  3123
  M v
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  3124
    r (no-filelog !)
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  3125
  R r
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  3126
  $ 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: 46602
diff changeset
  3127
  M v
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  3128
    t (no-filelog !)
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  3129
  R t
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  3130
  $ 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: 46602
diff changeset
  3131
  M v
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  3132
    t (no-filelog !)
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  3133
  R t
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  3134
  $ 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: 46602
diff changeset
  3135
  A v
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  3136
    t
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  3137
  R t
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  3138
  $ 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: 46602
diff changeset
  3139
  A v
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  3140
    r
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  3141
  R r
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  3142
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  3143
# 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: 46602
diff changeset
  3144
#
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  3145
# 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: 46602
diff changeset
  3146
# 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: 46602
diff changeset
  3147
# 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: 46602
diff changeset
  3148
# 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: 46602
diff changeset
  3149
#
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  3150
# 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: 46602
diff changeset
  3151
# 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: 46602
diff changeset
  3152
# 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: 46602
diff changeset
  3153
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  3154
  $ 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: 46602
diff changeset
  3155
  A v
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  3156
    t
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  3157
  R r
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  3158
  R t
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  3159
  $ 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: 46602
diff changeset
  3160
  A v
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  3161
    t (filelog !)
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  3162
    r (no-filelog !)
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  3163
  R r
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  3164
  R t
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  3165
  $ 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: 46602
diff changeset
  3166
  A d
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  3167
    a
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  3168
  A v
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  3169
    r (filelog !)
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  3170
    p (no-filelog !)
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  3171
  R a
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  3172
  R p
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  3173
  R r
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  3174
  $ 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: 46602
diff changeset
  3175
  A d
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  3176
    a
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  3177
  A v
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  3178
    r
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  3179
  R a
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  3180
  R p
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  3181
  R r
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46602
diff changeset
  3182
45471
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44858
diff changeset
  3183
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44858
diff changeset
  3184
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: 44858
diff changeset
  3185
-------------------------------------------------------------
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44858
diff changeset
  3186
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44858
diff changeset
  3187
Merge:
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44858
diff changeset
  3188
- 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: 44858
diff changeset
  3189
- 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: 44858
diff changeset
  3190
- 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: 44858
diff changeset
  3191
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44858
diff changeset
  3192
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: 44858
diff changeset
  3193
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: 44858
diff changeset
  3194
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44858
diff changeset
  3195
  $ hg log -G --rev '::(desc("mCGm")+desc("mGCm"))'
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  3196
  o    mGCm-0 merge updated/deleted - revive the file (updated content) - the other way
45471
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44858
diff changeset
  3197
  |\
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  3198
  +---o  mCGm-0 merge updated/deleted - revive the file (updated content) - one way
45471
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44858
diff changeset
  3199
  | |/
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  3200
  | o  g-1: update d
45471
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44858
diff changeset
  3201
  | |
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  3202
  o |  c-1 delete d
45471
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44858
diff changeset
  3203
  |/
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  3204
  o  i-2: c -move-> d, s -move-> t
45471
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44858
diff changeset
  3205
  |
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  3206
  o  i-1: a -move-> c, p -move-> s
45471
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44858
diff changeset
  3207
  |
46649
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46607
diff changeset
  3208
  o  i-0 initial commit: a b h p q r
45471
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44858
diff changeset
  3209
  
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44858
diff changeset
  3210
45670
a8fb29b05f92 salvaged: properly deal with salvaged file during copy tracing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45669
diff changeset
  3211
'a' is the copy source of 'd'
45471
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44858
diff changeset
  3212
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44858
diff changeset
  3213
  $ 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: 44858
diff changeset
  3214
  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
  3215
    a (no-compatibility no-changeset !)
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  3216
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  3217
    p
45471
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44858
diff changeset
  3218
  R a
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  3219
  R p
45471
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44858
diff changeset
  3220
  $ 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: 44858
diff changeset
  3221
  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
  3222
    a (no-compatibility no-changeset !)
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  3223
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  3224
    p
45471
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44858
diff changeset
  3225
  R a
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  3226
  R p
45471
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44858
diff changeset
  3227
  $ 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: 44858
diff changeset
  3228
  A d
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44858
diff changeset
  3229
  $ 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: 44858
diff changeset
  3230
  A d
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44858
diff changeset
  3231
  $ 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: 44858
diff changeset
  3232
  $ hg status --copies --rev 'desc("g-1")' --rev 'desc("mGCm-0")'
45472
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45471
diff changeset
  3233
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45471
diff changeset
  3234
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45471
diff changeset
  3235
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: 45471
diff changeset
  3236
--------------------------------------------------------
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45471
diff changeset
  3237
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45471
diff changeset
  3238
Merge:
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45471
diff changeset
  3239
- 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: 45471
diff changeset
  3240
- 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: 45471
diff changeset
  3241
- 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: 45471
diff changeset
  3242
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45471
diff changeset
  3243
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: 45471
diff changeset
  3244
copy tracing chain.
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45471
diff changeset
  3245
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45471
diff changeset
  3246
  $ hg log -G --rev '::(desc("mCB-revert-m")+desc("mBC-revert-m"))'
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  3247
  o    mBC-revert-m-0 merge explicitely revive deleted file - B side: unrelated change, C side: delete d (restored by merge) - the other way
45472
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45471
diff changeset
  3248
  |\
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  3249
  +---o  mCB-revert-m-0 merge explicitely revive deleted file - B side: unrelated change, C side: delete d (restored by merge) - one way
45472
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45471
diff changeset
  3250
  | |/
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  3251
  | o  c-1 delete d
45472
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45471
diff changeset
  3252
  | |
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  3253
  o |  b-1: b update
45472
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45471
diff changeset
  3254
  |/
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  3255
  o  i-2: c -move-> d, s -move-> t
45472
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45471
diff changeset
  3256
  |
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  3257
  o  i-1: a -move-> c, p -move-> s
45472
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45471
diff changeset
  3258
  |
46649
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46607
diff changeset
  3259
  o  i-0 initial commit: a b h p q r
45472
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45471
diff changeset
  3260
  
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45471
diff changeset
  3261
45670
a8fb29b05f92 salvaged: properly deal with salvaged file during copy tracing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45669
diff changeset
  3262
'a' is the the copy source of 'd'
45472
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45471
diff changeset
  3263
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45471
diff changeset
  3264
  $ 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: 45471
diff changeset
  3265
  M b
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45471
diff changeset
  3266
  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
  3267
    a (no-compatibility no-changeset !)
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  3268
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  3269
    p
45472
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45471
diff changeset
  3270
  R a
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  3271
  R p
45472
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45471
diff changeset
  3272
  $ 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: 45471
diff changeset
  3273
  M b
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45471
diff changeset
  3274
  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
  3275
    a (no-compatibility no-changeset !)
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  3276
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  3277
    p
45472
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45471
diff changeset
  3278
  R a
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  3279
  R p
45472
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45471
diff changeset
  3280
  $ 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: 45471
diff changeset
  3281
  M b
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45471
diff changeset
  3282
  A d
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45471
diff changeset
  3283
  $ 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: 45471
diff changeset
  3284
  M b
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45471
diff changeset
  3285
  A d
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45471
diff changeset
  3286
  $ 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: 45471
diff changeset
  3287
  $ hg status --copies --rev 'desc("b-1")' --rev 'desc("mBC-revert-m-0")'
45821
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45801
diff changeset
  3288
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45801
diff changeset
  3289
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45801
diff changeset
  3290
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: 45801
diff changeset
  3291
------------------------------------------------------------------------------------------
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45801
diff changeset
  3292
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45801
diff changeset
  3293
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: 45801
diff changeset
  3294
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: 45801
diff changeset
  3295
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45801
diff changeset
  3296
(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: 45801
diff changeset
  3297
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45801
diff changeset
  3298
  $ hg log -G --rev '::(desc("mCH-delete-before-conflict-m")+desc("mHC-delete-before-conflict-m"))'
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  3299
  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
45821
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45801
diff changeset
  3300
  |\
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  3301
  +---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
45821
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45801
diff changeset
  3302
  | |/
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  3303
  | o  h-1: b -(move)-> d
45821
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45801
diff changeset
  3304
  | |
46594
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46593
diff changeset
  3305
  o |  c-1 delete d
45821
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45801
diff changeset
  3306
  | |
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  3307
  o |  i-2: c -move-> d, s -move-> t
45821
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45801
diff changeset
  3308
  | |
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  3309
  o |  i-1: a -move-> c, p -move-> s
45821
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45801
diff changeset
  3310
  |/
46649
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46607
diff changeset
  3311
  o  i-0 initial commit: a b h p q r
45821
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45801
diff changeset
  3312
  
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45801
diff changeset
  3313
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45801
diff changeset
  3314
  $ 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: 45801
diff changeset
  3315
  A d
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45801
diff changeset
  3316
    b (no-compatibility no-changeset !)
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  3317
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  3318
    p
45821
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45801
diff changeset
  3319
  R a
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45801
diff changeset
  3320
  R b
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  3321
  R p
45821
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45801
diff changeset
  3322
  $ 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: 45801
diff changeset
  3323
  A d
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45801
diff changeset
  3324
    b
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  3325
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  3326
    p
45821
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45801
diff changeset
  3327
  R a
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45801
diff changeset
  3328
  R b
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  3329
  R p
45821
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45801
diff changeset
  3330
  $ 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: 45801
diff changeset
  3331
  A d
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45801
diff changeset
  3332
    b
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45801
diff changeset
  3333
  R b
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45801
diff changeset
  3334
  $ 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: 45801
diff changeset
  3335
  A d
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45801
diff changeset
  3336
    b
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45801
diff changeset
  3337
  R b
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45801
diff changeset
  3338
  $ hg status --copies --rev 'desc("h-1")' --rev 'desc("mCH-delete-before-conflict-m")'
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  3339
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  3340
    p
45821
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45801
diff changeset
  3341
  R a
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  3342
  R p
45821
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45801
diff changeset
  3343
  $ hg status --copies --rev 'desc("h-1")' --rev 'desc("mHC-delete-before-conflict-m")'
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  3344
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  3345
    p
45821
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45801
diff changeset
  3346
  R a
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  3347
  R p
46591
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  3348
46597
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46596
diff changeset
  3349
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: 46596
diff changeset
  3350
--------------------------------------------------------------
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46596
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: 46596
diff changeset
  3352
(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: 46596
diff changeset
  3353
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46596
diff changeset
  3354
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: 46596
diff changeset
  3355
```````````````````````````````````````````````````````````````````````````````````
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46596
diff changeset
  3356
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46596
diff changeset
  3357
- 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: 46596
diff changeset
  3358
- 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: 46596
diff changeset
  3359
- 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: 46596
diff changeset
  3360
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46596
diff changeset
  3361
  $ 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: 46596
diff changeset
  3362
  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: 46596
diff changeset
  3363
  |\
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46596
diff changeset
  3364
  +---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: 46596
diff changeset
  3365
  | |/
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46596
diff changeset
  3366
  | 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: 46596
diff changeset
  3367
  | |
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46596
diff changeset
  3368
  | 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: 46596
diff changeset
  3369
  | |
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46596
diff changeset
  3370
  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: 46596
diff changeset
  3371
  | |
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46596
diff changeset
  3372
  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: 46596
diff changeset
  3373
  |/
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  3374
  o  i-2: c -move-> d, s -move-> t
46597
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46596
diff changeset
  3375
  |
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  3376
  o  i-1: a -move-> c, p -move-> s
46597
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46596
diff changeset
  3377
  |
46649
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46607
diff changeset
  3378
  o  i-0 initial commit: a b h p q r
46597
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46596
diff changeset
  3379
  
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46596
diff changeset
  3380
#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: 46596
diff changeset
  3381
  $ 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: 46596
diff changeset
  3382
  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: 46596
diff changeset
  3383
  $ 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: 46596
diff changeset
  3384
  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: 46596
diff changeset
  3385
  $ 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: 46596
diff changeset
  3386
  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: 46596
diff changeset
  3387
  $ 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: 46596
diff changeset
  3388
  e8825b386367b29fec957283a80bb47b47483fe1 644   f
47033
7383df4f6e19 tests: run python script through quoted interpreter instead of directly
Matt Harbison <matt_harbison@yahoo.com>
parents: 46884
diff changeset
  3389
  $ hg debugindex f | "$PYTHON" ../no-linkrev
46597
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46596
diff changeset
  3390
     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: 46596
diff changeset
  3391
       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: 46596
diff changeset
  3392
       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: 46596
diff changeset
  3393
       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: 46596
diff changeset
  3394
       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: 46596
diff changeset
  3395
       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: 46596
diff changeset
  3396
#else
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46596
diff changeset
  3397
  $ 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: 46596
diff changeset
  3398
  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: 46596
diff changeset
  3399
  $ 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: 46596
diff changeset
  3400
  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: 46596
diff changeset
  3401
  $ 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: 46596
diff changeset
  3402
  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: 46596
diff changeset
  3403
  $ 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: 46596
diff changeset
  3404
  ae258f702dfeca05bf9b6a22a97a4b5645570f11 644   f
47033
7383df4f6e19 tests: run python script through quoted interpreter instead of directly
Matt Harbison <matt_harbison@yahoo.com>
parents: 46884
diff changeset
  3405
  $ hg debugindex f | "$PYTHON" ../no-linkrev
46597
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46596
diff changeset
  3406
     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: 46596
diff changeset
  3407
       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: 46596
diff changeset
  3408
       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: 46596
diff changeset
  3409
       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: 46596
diff changeset
  3410
#endif
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46596
diff changeset
  3411
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46596
diff changeset
  3412
# 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: 46596
diff changeset
  3413
# 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: 46596
diff changeset
  3414
# 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: 46596
diff changeset
  3415
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46596
diff changeset
  3416
  $ 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: 46596
diff changeset
  3417
  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: 46596
diff changeset
  3418
    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: 46596
diff changeset
  3419
  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: 46596
diff changeset
  3420
  $ 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: 46596
diff changeset
  3421
  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: 46596
diff changeset
  3422
    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: 46596
diff changeset
  3423
  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: 46596
diff changeset
  3424
  $ 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: 46596
diff changeset
  3425
  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: 46596
diff changeset
  3426
    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: 46596
diff changeset
  3427
  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: 46596
diff changeset
  3428
  $ 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: 46596
diff changeset
  3429
  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: 46596
diff changeset
  3430
    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: 46596
diff changeset
  3431
  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: 46596
diff changeset
  3432
  $ 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: 46596
diff changeset
  3433
  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: 46596
diff changeset
  3434
    d
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46596
diff changeset
  3435
  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: 46596
diff changeset
  3436
  $ 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: 46596
diff changeset
  3437
  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: 46596
diff changeset
  3438
    b
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46596
diff changeset
  3439
  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: 46596
diff changeset
  3440
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46596
diff changeset
  3441
# 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: 46596
diff changeset
  3442
#
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46596
diff changeset
  3443
# 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: 46596
diff changeset
  3444
# 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: 46596
diff changeset
  3445
# 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: 46596
diff changeset
  3446
# 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: 46596
diff changeset
  3447
#
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46596
diff changeset
  3448
# 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: 46596
diff changeset
  3449
# 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: 46596
diff changeset
  3450
# 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: 46596
diff changeset
  3451
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46596
diff changeset
  3452
  $ 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: 46596
diff changeset
  3453
  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: 46596
diff changeset
  3454
    d
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46596
diff changeset
  3455
  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: 46596
diff changeset
  3456
  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: 46596
diff changeset
  3457
  $ 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: 46596
diff changeset
  3458
  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: 46596
diff changeset
  3459
    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: 46596
diff changeset
  3460
    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: 46596
diff changeset
  3461
  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: 46596
diff changeset
  3462
  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: 46596
diff changeset
  3463
  $ 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: 46596
diff changeset
  3464
  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: 46596
diff changeset
  3465
    a
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  3466
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  3467
    p
46597
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46596
diff changeset
  3468
  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: 46596
diff changeset
  3469
  R b
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  3470
  R p
46597
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46596
diff changeset
  3471
  $ 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: 46596
diff changeset
  3472
  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: 46596
diff changeset
  3473
    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: 46596
diff changeset
  3474
    b (no-filelog !)
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  3475
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  3476
    p
46597
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46596
diff changeset
  3477
  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: 46596
diff changeset
  3478
  R b
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  3479
  R p
46597
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46596
diff changeset
  3480
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46596
diff changeset
  3481
46795
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46719
diff changeset
  3482
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: 46719
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: 46719
diff changeset
  3484
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46719
diff changeset
  3485
Merge:
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46719
diff changeset
  3486
- 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: 46719
diff changeset
  3487
- 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: 46719
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: 46719
diff changeset
  3489
  $ 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: 46719
diff changeset
  3490
  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: 46719
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: 46719
diff changeset
  3492
  +---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: 46719
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: 46719
diff changeset
  3494
  | 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: 46719
diff changeset
  3495
  | |
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46719
diff changeset
  3496
  | 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: 46719
diff changeset
  3497
  | |
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46719
diff changeset
  3498
  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: 46719
diff changeset
  3499
  |/
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46719
diff changeset
  3500
  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: 46719
diff changeset
  3501
  |
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46719
diff changeset
  3502
  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: 46719
diff changeset
  3503
  |
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46719
diff changeset
  3504
  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: 46719
diff changeset
  3505
  
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46719
diff changeset
  3506
  $ 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: 46719
diff changeset
  3507
  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: 46719
diff changeset
  3508
  A d
47101
4b1bce1aa9bb test-copies: simplify some conditional output
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46884
diff changeset
  3509
    h
46795
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46719
diff changeset
  3510
  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: 46719
diff changeset
  3511
    p
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46719
diff changeset
  3512
  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: 46719
diff changeset
  3513
  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: 46719
diff changeset
  3514
  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: 46719
diff changeset
  3515
  $ 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: 46719
diff changeset
  3516
  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: 46719
diff changeset
  3517
  A d
46811
5a0b930cfb3e commit: get info from mergestate whether a file was merged or not
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46795
diff changeset
  3518
    h
46795
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46719
diff changeset
  3519
  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: 46719
diff changeset
  3520
    p
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46719
diff changeset
  3521
  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: 46719
diff changeset
  3522
  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: 46719
diff changeset
  3523
  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: 46719
diff changeset
  3524
  $ 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: 46719
diff changeset
  3525
  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: 46719
diff changeset
  3526
    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: 46719
diff changeset
  3527
  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: 46719
diff changeset
  3528
  $ 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: 46719
diff changeset
  3529
  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: 46719
diff changeset
  3530
  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: 46719
diff changeset
  3531
  $ 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: 46719
diff changeset
  3532
  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: 46719
diff changeset
  3533
  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: 46719
diff changeset
  3534
    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: 46719
diff changeset
  3535
  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: 46719
diff changeset
  3536
  $ 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: 46719
diff changeset
  3537
  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: 46719
diff changeset
  3538
    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: 46719
diff changeset
  3539
  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: 46719
diff changeset
  3540
  $ 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: 46719
diff changeset
  3541
  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: 46719
diff changeset
  3542
  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: 46719
diff changeset
  3543
  $ 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: 46719
diff changeset
  3544
  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: 46719
diff changeset
  3545
  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: 46719
diff changeset
  3546
    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: 46719
diff changeset
  3547
  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: 46719
diff changeset
  3548
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46719
diff changeset
  3549
#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: 46719
diff changeset
  3550
  $ 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: 46719
diff changeset
  3551
  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: 46719
diff changeset
  3552
  |\
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46719
diff changeset
  3553
  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: 46719
diff changeset
  3554
  | :
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46719
diff changeset
  3555
  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: 46719
diff changeset
  3556
  :/
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46719
diff changeset
  3557
  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: 46719
diff changeset
  3558
  
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46719
diff changeset
  3559
#else
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46719
diff changeset
  3560
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: 46719
diff changeset
  3561
  $ 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: 46719
diff changeset
  3562
  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: 46719
diff changeset
  3563
  :
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46719
diff changeset
  3564
  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: 46719
diff changeset
  3565
  |
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46719
diff changeset
  3566
  ~
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46719
diff changeset
  3567
#endif
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46719
diff changeset
  3568
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46719
diff changeset
  3569
#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: 46719
diff changeset
  3570
  $ 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: 46719
diff changeset
  3571
  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: 46719
diff changeset
  3572
  |\
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46719
diff changeset
  3573
  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: 46719
diff changeset
  3574
  | :
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46719
diff changeset
  3575
  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: 46719
diff changeset
  3576
  :/
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46719
diff changeset
  3577
  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: 46719
diff changeset
  3578
  
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46719
diff changeset
  3579
#else
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46719
diff changeset
  3580
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: 46719
diff changeset
  3581
  $ 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: 46719
diff changeset
  3582
  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: 46719
diff changeset
  3583
  :
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46719
diff changeset
  3584
  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: 46719
diff changeset
  3585
  |
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46719
diff changeset
  3586
  ~
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46719
diff changeset
  3587
#endif
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46719
diff changeset
  3588
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46719
diff changeset
  3589
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
  3590
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
  3591
````````````````````````````````````````````````````````````````
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  3592
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  3593
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
  3594
- 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
  3595
- 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
  3596
- 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
  3597
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  3598
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
  3599
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
  3600
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  3601
  $ 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
  3602
  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
  3603
  |\
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  3604
  +---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
  3605
  | |/
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  3606
  | 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
  3607
  | |
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  3608
  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
  3609
  |/
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  3610
  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
  3611
  |
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  3612
  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
  3613
  |
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  3614
  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
  3615
  
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  3616
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  3617
'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
  3618
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  3619
  $ 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
  3620
  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
  3621
  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
  3622
    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
  3623
  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
  3624
    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
  3625
  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
  3626
  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
  3627
  $ 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
  3628
  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
  3629
  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
  3630
    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
  3631
  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
  3632
    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
  3633
  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
  3634
  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
  3635
  $ 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
  3636
  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
  3637
  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
  3638
  $ 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
  3639
  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
  3640
  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
  3641
  $ 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
  3642
  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
  3643
  $ 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
  3644
  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
  3645
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  3646
46591
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  3647
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: 46590
diff changeset
  3648
------------------------------------------------------------------
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  3649
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  3650
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  3651
Subcase: chaining conflicting rename resolution
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  3652
```````````````````````````````````````````````
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  3653
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  3654
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: 46590
diff changeset
  3655
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: 46590
diff changeset
  3656
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: 46590
diff changeset
  3657
about that file should stay unchanged.
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  3658
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  3659
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: 46590
diff changeset
  3660
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  3661
  $ 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: 46590
diff changeset
  3662
  A f
47101
4b1bce1aa9bb test-copies: simplify some conditional output
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46884
diff changeset
  3663
    a (no-changeset no-compatibility !)
46591
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  3664
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  3665
  $ 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: 46590
diff changeset
  3666
  A f
47101
4b1bce1aa9bb test-copies: simplify some conditional output
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46884
diff changeset
  3667
    a (no-changeset no-compatibility !)
46591
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  3668
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  3669
  $ 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: 46590
diff changeset
  3670
  A f
47101
4b1bce1aa9bb test-copies: simplify some conditional output
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46884
diff changeset
  3671
    a (no-changeset no-compatibility !)
46591
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  3672
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  3673
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  3674
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: 46590
diff changeset
  3675
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  3676
  $ 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: 46590
diff changeset
  3677
  A f
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  3678
    a (filelog !)
47101
4b1bce1aa9bb test-copies: simplify some conditional output
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46884
diff changeset
  3679
    b (no-changeset no-compatibility no-filelog !)
46591
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  3680
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  3681
  $ 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: 46590
diff changeset
  3682
  A f
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  3683
    a (filelog !)
47101
4b1bce1aa9bb test-copies: simplify some conditional output
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46884
diff changeset
  3684
    b (no-changeset no-compatibility no-filelog !)
46591
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  3685
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  3686
  $ 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: 46590
diff changeset
  3687
  A f
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  3688
    a (filelog !)
47101
4b1bce1aa9bb test-copies: simplify some conditional output
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46884
diff changeset
  3689
    b (no-changeset no-compatibility no-filelog !)
46591
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  3690
46605
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  3691
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: 46604
diff changeset
  3692
```````````````````````````````````````````````
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  3693
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  3694
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: 46604
diff changeset
  3695
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: 46604
diff changeset
  3696
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: 46604
diff changeset
  3697
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: 46604
diff changeset
  3698
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  3699
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: 46604
diff changeset
  3700
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  3701
  $ 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: 46604
diff changeset
  3702
  A v
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  3703
    r (filelog !)
47101
4b1bce1aa9bb test-copies: simplify some conditional output
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46884
diff changeset
  3704
    p (no-changeset no-compatibility no-filelog !)
46605
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  3705
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  3706
  $ 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: 46604
diff changeset
  3707
  A v
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  3708
    r (filelog !)
47101
4b1bce1aa9bb test-copies: simplify some conditional output
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46884
diff changeset
  3709
    p (no-changeset no-compatibility no-filelog !)
46605
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  3710
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  3711
  $ 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: 46604
diff changeset
  3712
  A v
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  3713
    r (filelog !)
47101
4b1bce1aa9bb test-copies: simplify some conditional output
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46884
diff changeset
  3714
    p (no-changeset no-compatibility no-filelog !)
46605
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  3715
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  3716
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: 46604
diff changeset
  3717
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  3718
  $ 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: 46604
diff changeset
  3719
  A v
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  3720
    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: 46604
diff changeset
  3721
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  3722
  $ 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: 46604
diff changeset
  3723
  A v
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  3724
    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: 46604
diff changeset
  3725
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  3726
  $ 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: 46604
diff changeset
  3727
  A v
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  3728
    r (filelog !)
47101
4b1bce1aa9bb test-copies: simplify some conditional output
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46884
diff changeset
  3729
    r (no-changeset no-compatibility no-filelog !)
46605
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46604
diff changeset
  3730
46591
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46590
diff changeset
  3731
46592
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  3732
Subcase: chaining salvage information during a merge
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  3733
````````````````````````````````````````````````````
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  3734
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  3735
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: 46591
diff changeset
  3736
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: 46591
diff changeset
  3737
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  3738
reference output:
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  3739
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  3740
  $ 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: 46591
diff changeset
  3741
  M b
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  3742
  A d
46607
c19c662097e1 copies: detect case when a merge decision overwrite previous data
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46605
diff changeset
  3743
    a (no-changeset no-compatibility !)
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  3744
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  3745
    p
46592
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  3746
  R a
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  3747
  R p
46592
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  3748
  $ 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: 46591
diff changeset
  3749
  M b
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  3750
  A d
46607
c19c662097e1 copies: detect case when a merge decision overwrite previous data
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46605
diff changeset
  3751
    a (no-changeset no-compatibility !)
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  3752
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  3753
    p
46592
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  3754
  R a
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  3755
  R p
46592
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  3756
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  3757
chained output
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  3758
  $ 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: 46591
diff changeset
  3759
  M b
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  3760
  A d
46607
c19c662097e1 copies: detect case when a merge decision overwrite previous data
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46605
diff changeset
  3761
    a (no-changeset no-compatibility !)
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  3762
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  3763
    p
46592
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  3764
  A unrelated-l
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  3765
  R a
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  3766
  R p
46592
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  3767
  $ 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: 46591
diff changeset
  3768
  M b
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  3769
  A d
46607
c19c662097e1 copies: detect case when a merge decision overwrite previous data
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46605
diff changeset
  3770
    a (no-changeset no-compatibility !)
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  3771
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  3772
    p
46592
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  3773
  A unrelated-l
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  3774
  R a
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  3775
  R p
46592
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  3776
  $ 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: 46591
diff changeset
  3777
  M b
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  3778
  A d
46607
c19c662097e1 copies: detect case when a merge decision overwrite previous data
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46605
diff changeset
  3779
    a (no-changeset no-compatibility !)
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  3780
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  3781
    p
46592
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  3782
  A unrelated-l
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  3783
  R a
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  3784
  R p
46592
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  3785
  $ 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: 46591
diff changeset
  3786
  M b
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  3787
  A d
46607
c19c662097e1 copies: detect case when a merge decision overwrite previous data
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46605
diff changeset
  3788
    a (no-changeset no-compatibility !)
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  3789
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  3790
    p
46592
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  3791
  A unrelated-l
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  3792
  R a
46600
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46599
diff changeset
  3793
  R p
46592
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46591
diff changeset
  3794
46593
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  3795
Subcase: chaining "merged" information during a merge
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  3796
``````````````````````````````````````````````````````
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  3797
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  3798
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: 46592
diff changeset
  3799
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  3800
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  3801
reference output:
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  3802
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  3803
 (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: 46592
diff changeset
  3804
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  3805
  $ 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: 46592
diff changeset
  3806
  A d
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  3807
    a (filelog !)
47101
4b1bce1aa9bb test-copies: simplify some conditional output
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46884
diff changeset
  3808
    h (no-changeset no-compatibility no-filelog !)
46593
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  3809
  $ 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: 46592
diff changeset
  3810
  A d
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  3811
    a (filelog !)
47101
4b1bce1aa9bb test-copies: simplify some conditional output
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46884
diff changeset
  3812
    a (no-changeset no-compatibility no-filelog !)
46593
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  3813
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  3814
Chained output
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  3815
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  3816
  $ 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: 46592
diff changeset
  3817
  A d
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  3818
    a (filelog !)
47101
4b1bce1aa9bb test-copies: simplify some conditional output
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46884
diff changeset
  3819
    h (no-changeset no-compatibility no-filelog !)
46593
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  3820
  $ 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: 46592
diff changeset
  3821
  A d
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  3822
    a (filelog !)
47101
4b1bce1aa9bb test-copies: simplify some conditional output
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46884
diff changeset
  3823
    h (no-changeset no-compatibility no-filelog !)
46593
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  3824
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  3825
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  3826
  $ 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: 46592
diff changeset
  3827
  A d
46607
c19c662097e1 copies: detect case when a merge decision overwrite previous data
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46605
diff changeset
  3828
    a (no-changeset no-compatibility !)
46593
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46592
diff changeset
  3829
  $ 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: 46592
diff changeset
  3830
  A d
46607
c19c662097e1 copies: detect case when a merge decision overwrite previous data
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46605
diff changeset
  3831
    a (no-changeset no-compatibility !)
46598
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46597
diff changeset
  3832
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46597
diff changeset
  3833
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46597
diff changeset
  3834
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: 46597
diff changeset
  3835
```````````````````````````````````````````````````````````````````````````````````
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46597
diff changeset
  3836
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46597
diff changeset
  3837
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: 46597
diff changeset
  3838
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: 46597
diff changeset
  3839
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: 46597
diff changeset
  3840
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: 46597
diff changeset
  3841
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46597
diff changeset
  3842
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: 46597
diff changeset
  3843
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46597
diff changeset
  3844
  $ 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: 46597
diff changeset
  3845
  A f
47101
4b1bce1aa9bb test-copies: simplify some conditional output
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46884
diff changeset
  3846
    a (no-changeset no-compatibility !)
46598
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46597
diff changeset
  3847
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46597
diff changeset
  3848
  $ 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: 46597
diff changeset
  3849
  A f
47101
4b1bce1aa9bb test-copies: simplify some conditional output
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46884
diff changeset
  3850
    a (no-changeset no-compatibility !)
46598
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46597
diff changeset
  3851
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46597
diff changeset
  3852
  $ 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: 46597
diff changeset
  3853
  A f
46607
c19c662097e1 copies: detect case when a merge decision overwrite previous data
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46605
diff changeset
  3854
    a (no-changeset no-compatibility !)
46598
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46597
diff changeset
  3855
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46597
diff changeset
  3856
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46597
diff changeset
  3857
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: 46597
diff changeset
  3858
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46597
diff changeset
  3859
  $ 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: 46597
diff changeset
  3860
  A f
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46597
diff changeset
  3861
    a (filelog !)
47101
4b1bce1aa9bb test-copies: simplify some conditional output
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46884
diff changeset
  3862
    b (no-changeset no-compatibility no-filelog !)
46598
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46597
diff changeset
  3863
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46597
diff changeset
  3864
  $ 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: 46597
diff changeset
  3865
  A f
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46597
diff changeset
  3866
    a (filelog !)
47101
4b1bce1aa9bb test-copies: simplify some conditional output
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46884
diff changeset
  3867
    b (no-changeset no-compatibility no-filelog !)
46598
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46597
diff changeset
  3868
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46597
diff changeset
  3869
  $ 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: 46597
diff changeset
  3870
  A f
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46597
diff changeset
  3871
    a (filelog !)
47101
4b1bce1aa9bb test-copies: simplify some conditional output
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46884
diff changeset
  3872
    b (no-changeset no-compatibility no-filelog !)