tests/test-copies-chain-merge.t
author Pierre-Yves David <pierre-yves.david@octobus.net>
Mon, 03 May 2021 12:24:29 +0200
changeset 47161 f574734eb2b7
parent 47128 bea4717415c0
child 47227 0dedd3d063b0
permissions -rw-r--r--
revlog: use revlog.display_id in censor related errors Differential Revision: https://phab.mercurial-scm.org/D10587
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
47091
bc7bdca15e47 test-copies: test that copies' sidedata can get computed during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47090
diff changeset
     1
#testcases filelog compatibility changeset sidedata upgraded upgraded-parallel pull push pull-upgrade push-upgrade
44758
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
     2
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     3
=====================================================
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     4
Test Copy tracing for chain of copies involving merge
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     5
=====================================================
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     6
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     7
This test files covers copies/rename case for a chains of commit where merges
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     8
are involved. It cheks we do not have unwanted update of behavior and that the
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     9
different options to retrieve copies behave correctly.
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    10
44758
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
    11
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    12
Setup
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    13
=====
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    14
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    15
use git diff to see rename
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    16
46552
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
    17
  $ cat << EOF >> ./no-linkrev
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
    18
  > #!$PYTHON
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
    19
  > # filter out linkrev part of the debugindex command
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
    20
  > import sys
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
    21
  > for line in sys.stdin:
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
    22
  >     if " linkrev " in line:
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
    23
  >         print(line.rstrip())
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
    24
  >     else:
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
    25
  >         l = "%s       *%s" % (line[:6], line[14:].rstrip())
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
    26
  >         print(l)
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
    27
  > EOF
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
    28
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    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
45765
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]
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
    33
  > log={desc}\n
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    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
44758
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
    36
#if compatibility
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
    37
  $ cat >> $HGRCPATH << EOF
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
    38
  > [experimental]
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
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: 44687
diff changeset
    40
  > EOF
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
    41
#endif
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
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
44758
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
    51
#if sidedata
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
    52
  $ cat >> $HGRCPATH << EOF
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
    53
  > [format]
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
    54
  > exp-use-side-data = yes
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
    55
  > exp-use-copies-side-data-changeset = yes
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
    56
  > EOF
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
    57
#endif
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
    58
47088
573d817bcc1f test-copies: test that copies' sidedata does not get corrupted during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47087
diff changeset
    59
#if pull
573d817bcc1f test-copies: test that copies' sidedata does not get corrupted during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47087
diff changeset
    60
  $ 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: 47087
diff changeset
    61
  > [format]
573d817bcc1f test-copies: test that copies' sidedata does not get corrupted during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47087
diff changeset
    62
  > exp-use-side-data = yes
573d817bcc1f test-copies: test that copies' sidedata does not get corrupted during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47087
diff changeset
    63
  > 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: 47087
diff changeset
    64
  > EOF
573d817bcc1f test-copies: test that copies' sidedata does not get corrupted during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47087
diff changeset
    65
#endif
573d817bcc1f test-copies: test that copies' sidedata does not get corrupted during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47087
diff changeset
    66
47089
fa5bc416b413 test-copies: test that copies' sidedata does not get corrupted during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47088
diff changeset
    67
#if push
fa5bc416b413 test-copies: test that copies' sidedata does not get corrupted during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47088
diff changeset
    68
  $ 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: 47088
diff changeset
    69
  > [format]
fa5bc416b413 test-copies: test that copies' sidedata does not get corrupted during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47088
diff changeset
    70
  > exp-use-side-data = yes
fa5bc416b413 test-copies: test that copies' sidedata does not get corrupted during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47088
diff changeset
    71
  > 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: 47088
diff changeset
    72
  > EOF
fa5bc416b413 test-copies: test that copies' sidedata does not get corrupted during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47088
diff changeset
    73
#endif
fa5bc416b413 test-copies: test that copies' sidedata does not get corrupted during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47088
diff changeset
    74
47090
f506adbe5ac1 test-copies: test that copies' sidedata can get computed during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47089
diff changeset
    75
#if pull-upgrade
f506adbe5ac1 test-copies: test that copies' sidedata can get computed during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47089
diff changeset
    76
  $ cat >> $HGRCPATH << EOF
f506adbe5ac1 test-copies: test that copies' sidedata can get computed during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47089
diff changeset
    77
  > [format]
f506adbe5ac1 test-copies: test that copies' sidedata can get computed during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47089
diff changeset
    78
  > exp-use-side-data = no
f506adbe5ac1 test-copies: test that copies' sidedata can get computed during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47089
diff changeset
    79
  > 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: 47089
diff changeset
    80
  > [experimental]
f506adbe5ac1 test-copies: test that copies' sidedata can get computed during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47089
diff changeset
    81
  > changegroup4 = yes
f506adbe5ac1 test-copies: test that copies' sidedata can get computed during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47089
diff changeset
    82
  > EOF
f506adbe5ac1 test-copies: test that copies' sidedata can get computed during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47089
diff changeset
    83
#endif
f506adbe5ac1 test-copies: test that copies' sidedata can get computed during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47089
diff changeset
    84
47091
bc7bdca15e47 test-copies: test that copies' sidedata can get computed during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47090
diff changeset
    85
#if push-upgrade
bc7bdca15e47 test-copies: test that copies' sidedata can get computed during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47090
diff changeset
    86
  $ cat >> $HGRCPATH << EOF
bc7bdca15e47 test-copies: test that copies' sidedata can get computed during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47090
diff changeset
    87
  > [format]
bc7bdca15e47 test-copies: test that copies' sidedata can get computed during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47090
diff changeset
    88
  > exp-use-side-data = no
bc7bdca15e47 test-copies: test that copies' sidedata can get computed during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47090
diff changeset
    89
  > 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: 47090
diff changeset
    90
  > [experimental]
bc7bdca15e47 test-copies: test that copies' sidedata can get computed during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47090
diff changeset
    91
  > changegroup4 = yes
bc7bdca15e47 test-copies: test that copies' sidedata can get computed during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47090
diff changeset
    92
  > EOF
bc7bdca15e47 test-copies: test that copies' sidedata can get computed during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47090
diff changeset
    93
#endif
44758
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
    94
46531
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46527
diff changeset
    95
  $ cat > same-content.txt << EOF
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46527
diff changeset
    96
  > Here is some content that will be the same accros multiple file.
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46527
diff changeset
    97
  > 
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46527
diff changeset
    98
  > This is done on purpose so that we end up in some merge situation, were the
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46527
diff changeset
    99
  > resulting content is the same as in the parent(s), but a new filenodes still
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46527
diff changeset
   100
  > need to be created to record some file history information (especially
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46527
diff changeset
   101
  > about copies).
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46527
diff changeset
   102
  > EOF
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46527
diff changeset
   103
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   104
  $ 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
   105
  $ 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
   106
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   107
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
   108
46531
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46527
diff changeset
   109
  $ cp ../same-content.txt a
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46527
diff changeset
   110
  $ cp ../same-content.txt b
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46527
diff changeset
   111
  $ cp ../same-content.txt h
46555
46205a478a08 test-copies: add 3 new files with their own content
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46554
diff changeset
   112
  $ echo "original content for P" > p
46205a478a08 test-copies: add 3 new files with their own content
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46554
diff changeset
   113
  $ echo "original content for Q" > q
46205a478a08 test-copies: add 3 new files with their own content
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46554
diff changeset
   114
  $ echo "original content for R" > r
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
   115
  $ hg ci -Am 'i-0 initial commit: a b h p q r'
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   116
  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
   117
  adding b
44457
902b559202a6 copies-tests: add a `h` to the root commit (for chain merge tests)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44456
diff changeset
   118
  adding h
46555
46205a478a08 test-copies: add 3 new files with their own content
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46554
diff changeset
   119
  adding p
46205a478a08 test-copies: add 3 new files with their own content
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46554
diff changeset
   120
  adding q
46205a478a08 test-copies: add 3 new files with their own content
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46554
diff changeset
   121
  adding r
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   122
  $ hg mv a c
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   123
  $ hg mv p s
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   124
  $ hg ci -Am 'i-1: a -move-> c, p -move-> s'
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   125
  $ hg mv c d
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   126
  $ hg mv s t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   127
  $ hg ci -Am 'i-2: c -move-> d, s -move-> t'
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   128
  $ hg log -G
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   129
  @  i-2: c -move-> d, s -move-> t
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   130
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   131
  o  i-1: a -move-> c, p -move-> s
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   132
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
   133
  o  i-0 initial commit: a b h p q r
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   134
  
f9dfb56ed6e8 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
44453
68e14fecd82a copies-tests: swap two branch description
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44444
diff changeset
   136
And having another branch with renames on the other side
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   137
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   138
  $ 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
   139
  $ 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
   140
  $ 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
   141
  $ 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
   142
  $ hg log -G --rev '::.'
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   143
  @  a-2: e -move-> f
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   144
  |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   145
  o  a-1: d -move-> e
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   146
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   147
  o  i-2: c -move-> d, s -move-> t
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   148
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   149
  o  i-1: a -move-> c, p -move-> s
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   150
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
   151
  o  i-0 initial commit: a b h p q r
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   152
  
f9dfb56ed6e8 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
44453
68e14fecd82a copies-tests: swap two branch description
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44444
diff changeset
   154
Have a branching with nothing on one side
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   155
f9dfb56ed6e8 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 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
   157
  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
   158
  $ 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
   159
  $ 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
   160
  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
   161
  $ hg log -G --rev '::.'
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   162
  @  b-1: b update
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   163
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   164
  o  i-2: c -move-> d, s -move-> t
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   165
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   166
  o  i-1: a -move-> c, p -move-> s
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   167
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
   168
  o  i-0 initial commit: a b h p q r
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   169
  
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   170
44677
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   171
Create a branch that delete a file previous renamed
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   172
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   173
  $ hg up 'desc("i-2")'
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   174
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   175
  $ hg rm d
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   176
  $ hg ci -m 'c-1 delete d'
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   177
  created new head
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   178
  $ hg log -G --rev '::.'
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   179
  @  c-1 delete d
44677
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   180
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   181
  o  i-2: c -move-> d, s -move-> t
44677
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   182
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   183
  o  i-1: a -move-> c, p -move-> s
44677
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   184
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
   185
  o  i-0 initial commit: a b h p q r
44677
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   186
  
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   187
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   188
Create a branch that delete a file previous renamed and recreate it
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   189
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   190
  $ hg up 'desc("i-2")'
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   191
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   192
  $ hg rm d
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   193
  $ hg ci -m 'd-1 delete d'
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   194
  created new head
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   195
  $ echo bar > d
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   196
  $ hg add d
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   197
  $ hg ci -m 'd-2 re-add d'
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   198
  $ hg log -G --rev '::.'
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   199
  @  d-2 re-add d
44677
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   200
  |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   201
  o  d-1 delete d
44677
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   202
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   203
  o  i-2: c -move-> d, s -move-> t
44677
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   204
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   205
  o  i-1: a -move-> c, p -move-> s
44677
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   206
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
   207
  o  i-0 initial commit: a b h p q r
44677
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   208
  
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   209
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   210
Having another branch renaming a different file to the same filename as another
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   211
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   212
  $ hg up 'desc("i-2")'
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   213
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   214
  $ hg mv b g
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   215
  $ hg ci -m 'e-1 b -move-> g'
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   216
  created new head
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   217
  $ hg mv g f
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   218
  $ hg ci -m 'e-2 g -move-> f'
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   219
  $ hg log -G --rev '::.'
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   220
  @  e-2 g -move-> f
44677
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   221
  |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   222
  o  e-1 b -move-> g
44677
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   223
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   224
  o  i-2: c -move-> d, s -move-> t
44677
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   225
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   226
  o  i-1: a -move-> c, p -move-> s
44677
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   227
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
   228
  o  i-0 initial commit: a b h p q r
44677
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   229
  
46557
067307d6589d test-copies: add a `p` branch similar to the `a` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46556
diff changeset
   230
  $ hg up -q null
067307d6589d test-copies: add a `p` branch similar to the `a` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46556
diff changeset
   231
067307d6589d test-copies: add a `p` branch similar to the `a` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46556
diff changeset
   232
Having a branch similar to the 'a' one, but moving the 'p' file around.
067307d6589d test-copies: add a `p` branch similar to the `a` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46556
diff changeset
   233
067307d6589d test-copies: add a `p` branch similar to the `a` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46556
diff changeset
   234
  $ hg up 'desc("i-2")'
067307d6589d test-copies: add a `p` branch similar to the `a` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46556
diff changeset
   235
  6 files updated, 0 files merged, 0 files removed, 0 files unresolved
067307d6589d test-copies: add a `p` branch similar to the `a` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46556
diff changeset
   236
  $ hg mv t u
067307d6589d test-copies: add a `p` branch similar to the `a` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46556
diff changeset
   237
  $ hg ci -Am 'p-1: t -move-> u'
067307d6589d test-copies: add a `p` branch similar to the `a` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46556
diff changeset
   238
  created new head
067307d6589d test-copies: add a `p` branch similar to the `a` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46556
diff changeset
   239
  $ hg mv u v
067307d6589d test-copies: add a `p` branch similar to the `a` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46556
diff changeset
   240
  $ hg ci -Am 'p-2: u -move-> v'
067307d6589d test-copies: add a `p` branch similar to the `a` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46556
diff changeset
   241
  $ hg log -G --rev '::.'
067307d6589d test-copies: add a `p` branch similar to the `a` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46556
diff changeset
   242
  @  p-2: u -move-> v
067307d6589d test-copies: add a `p` branch similar to the `a` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46556
diff changeset
   243
  |
067307d6589d test-copies: add a `p` branch similar to the `a` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46556
diff changeset
   244
  o  p-1: t -move-> u
067307d6589d test-copies: add a `p` branch similar to the `a` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46556
diff changeset
   245
  |
067307d6589d test-copies: add a `p` branch similar to the `a` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46556
diff changeset
   246
  o  i-2: c -move-> d, s -move-> t
067307d6589d test-copies: add a `p` branch similar to the `a` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46556
diff changeset
   247
  |
067307d6589d test-copies: add a `p` branch similar to the `a` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46556
diff changeset
   248
  o  i-1: a -move-> c, p -move-> s
067307d6589d test-copies: add a `p` branch similar to the `a` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46556
diff changeset
   249
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
   250
  o  i-0 initial commit: a b h p q r
46557
067307d6589d test-copies: add a `p` branch similar to the `a` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46556
diff changeset
   251
  
067307d6589d test-copies: add a `p` branch similar to the `a` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46556
diff changeset
   252
  $ hg up -q null
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   253
46558
eb60dadd1be1 test-copies: add a `q` branch similar to the `e` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46557
diff changeset
   254
Having another branch renaming a different file to the same filename as another
eb60dadd1be1 test-copies: add a `q` branch similar to the `e` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46557
diff changeset
   255
eb60dadd1be1 test-copies: add a `q` branch similar to the `e` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46557
diff changeset
   256
  $ hg up 'desc("i-2")'
eb60dadd1be1 test-copies: add a `q` branch similar to the `e` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46557
diff changeset
   257
  6 files updated, 0 files merged, 0 files removed, 0 files unresolved
eb60dadd1be1 test-copies: add a `q` branch similar to the `e` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46557
diff changeset
   258
  $ hg mv r w
eb60dadd1be1 test-copies: add a `q` branch similar to the `e` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46557
diff changeset
   259
  $ hg ci -m 'q-1 r -move-> w'
eb60dadd1be1 test-copies: add a `q` branch similar to the `e` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46557
diff changeset
   260
  created new head
eb60dadd1be1 test-copies: add a `q` branch similar to the `e` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46557
diff changeset
   261
  $ hg mv w v
eb60dadd1be1 test-copies: add a `q` branch similar to the `e` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46557
diff changeset
   262
  $ hg ci -m 'q-2 w -move-> v'
eb60dadd1be1 test-copies: add a `q` branch similar to the `e` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46557
diff changeset
   263
  $ hg log -G --rev '::.'
eb60dadd1be1 test-copies: add a `q` branch similar to the `e` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46557
diff changeset
   264
  @  q-2 w -move-> v
eb60dadd1be1 test-copies: add a `q` branch similar to the `e` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46557
diff changeset
   265
  |
eb60dadd1be1 test-copies: add a `q` branch similar to the `e` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46557
diff changeset
   266
  o  q-1 r -move-> w
eb60dadd1be1 test-copies: add a `q` branch similar to the `e` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46557
diff changeset
   267
  |
eb60dadd1be1 test-copies: add a `q` branch similar to the `e` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46557
diff changeset
   268
  o  i-2: c -move-> d, s -move-> t
eb60dadd1be1 test-copies: add a `q` branch similar to the `e` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46557
diff changeset
   269
  |
eb60dadd1be1 test-copies: add a `q` branch similar to the `e` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46557
diff changeset
   270
  o  i-1: a -move-> c, p -move-> s
eb60dadd1be1 test-copies: add a `q` branch similar to the `e` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46557
diff changeset
   271
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
   272
  o  i-0 initial commit: a b h p q r
46558
eb60dadd1be1 test-copies: add a `q` branch similar to the `e` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46557
diff changeset
   273
  
eb60dadd1be1 test-copies: add a `q` branch similar to the `e` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46557
diff changeset
   274
  $ hg up -q null
eb60dadd1be1 test-copies: add a `q` branch similar to the `e` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46557
diff changeset
   275
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   276
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
   277
===============
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   278
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   279
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
   280
information.
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   281
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
   282
merging with unrelated change does not interfere with the renames
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
   283
---------------------------------------------------------------
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
   284
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
   285
- rename on one side
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
   286
- unrelated change on the other side
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   287
46533
e20977208924 test-copies: improve description of the A+B case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46532
diff changeset
   288
  $ case_desc="simple merge - A side: multiple renames, B side: unrelated update"
46532
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46531
diff changeset
   289
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   290
  $ hg up 'desc("b-1")'
46557
067307d6589d test-copies: add a `p` branch similar to the `a` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46556
diff changeset
   291
  6 files updated, 0 files merged, 0 files removed, 0 files unresolved
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   292
  $ 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
   293
  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
   294
  (branch merge, don't forget to commit)
46532
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46531
diff changeset
   295
  $ hg ci -m "mBAm-0 $case_desc - one way"
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   296
  $ 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
   297
  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
   298
  $ 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
   299
  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
   300
  (branch merge, don't forget to commit)
46532
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46531
diff changeset
   301
  $ hg ci -m "mABm-0 $case_desc - the other way"
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   302
  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
   303
  $ hg log -G --rev '::(desc("mABm")+desc("mBAm"))'
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   304
  @    mABm-0 simple merge - A side: multiple renames, B side: unrelated update - the other way
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   305
  |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   306
  +---o  mBAm-0 simple merge - A side: multiple renames, B side: unrelated update - one way
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   307
  | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   308
  | o  b-1: b update
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   309
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   310
  o |  a-2: e -move-> f
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   311
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   312
  o |  a-1: d -move-> e
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   313
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   314
  o  i-2: c -move-> d, s -move-> t
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   315
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   316
  o  i-1: a -move-> c, p -move-> s
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   317
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
   318
  o  i-0 initial commit: a b h p q r
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   319
  
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   320
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   321
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   322
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
   323
-------------------------------------
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   324
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   325
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
   326
- 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
   327
- 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
   328
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
   329
46534
979838adc46b test-copies: improve description of the B+C case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46533
diff changeset
   330
  $ case_desc="simple merge - C side: delete a file with copies history , B side: unrelated update"
46532
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46531
diff changeset
   331
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   332
  $ 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
   333
  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
   334
  $ 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
   335
  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
   336
  (branch merge, don't forget to commit)
46532
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46531
diff changeset
   337
  $ 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
   338
  $ 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
   339
  $ 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
   340
  $ 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
   341
  $ 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
   342
  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
   343
  $ 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
   344
  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
   345
  (branch merge, don't forget to commit)
46532
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46531
diff changeset
   346
  $ 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
   347
  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
   348
  $ 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
   349
  $ 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
   350
  $ 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
   351
  $ hg log -G --rev '::(desc("mCBm")+desc("mBCm"))'
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   352
  @  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
   353
  |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   354
  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
   355
  |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   356
  | | 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
   357
  | | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   358
  +---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
   359
  | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   360
  | 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
   361
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   362
  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
   363
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   364
  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
   365
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   366
  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
   367
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
   368
  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
   369
  
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   370
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   371
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
   372
---------------------------------------------------
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   373
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   374
Merge:
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   375
- 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
   376
- 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
   377
46535
9a58f9eed303 test-copies: improve description of the B+D case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46534
diff changeset
   378
  $ case_desc="simple merge - B side: unrelated update, D side: delete and recreate a file (with different content)"
46532
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46531
diff changeset
   379
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   380
  $ 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
   381
  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
   382
  $ 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
   383
  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
   384
  (branch merge, don't forget to commit)
46532
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46531
diff changeset
   385
  $ 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
   386
  $ 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
   387
  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
   388
  $ 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
   389
  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
   390
  (branch merge, don't forget to commit)
46532
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46531
diff changeset
   391
  $ 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
   392
  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
   393
  $ hg log -G --rev '::(desc("mDBm")+desc("mBDm"))'
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   394
  @    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
   395
  |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   396
  +---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
   397
  | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   398
  | 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
   399
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   400
  | 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
   401
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   402
  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
   403
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   404
  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
   405
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   406
  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
   407
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
   408
  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
   409
  
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   410
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   411
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   412
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
   413
--------------------------------------------
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   414
46543
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46542
diff changeset
   415
Subcase: new copy information on both side
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46542
diff changeset
   416
``````````````````````````````````````````
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46542
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
- 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
   419
- 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
   420
46536
19f490690880 test-copies: improve description of the A+E case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46535
diff changeset
   421
  $ case_desc="merge with copies info on both side - A side: rename d to f, E side: b to f, (same content for f)"
46532
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46531
diff changeset
   422
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
  $ 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
   424
  2 files updated, 0 files merged, 1 files removed, 0 files unresolved
46527
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
   425
  $ hg merge 'desc("e-2")'
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
   426
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved (no-changeset !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
   427
  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
   428
  (branch merge, don't forget to commit)
46532
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46531
diff changeset
   429
  $ 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
   430
  $ hg up 'desc("e-2")'
46527
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
   431
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved (no-changeset !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
   432
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved (changeset !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
   433
  $ hg merge 'desc("a-2")'
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
   434
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved (no-changeset !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
   435
  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
   436
  (branch merge, don't forget to commit)
46532
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46531
diff changeset
   437
  $ 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
   438
  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
   439
  $ hg log -G --rev '::(desc("mAEm")+desc("mEAm"))'
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   440
  @    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
   441
  |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   442
  +---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
   443
  | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   444
  | 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
   445
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   446
  | 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
   447
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   448
  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
   449
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   450
  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
   451
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   452
  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
   453
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   454
  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
   455
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
   456
  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
   457
  
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   458
46559
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   459
Subcase: new copy information on both side with an actual merge happening
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   460
`````````````````````````````````````````````````````````````````````````
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   461
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   462
- the "p-" branch renaming 't' to 'v' (through 'u')
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   463
- the "q-" branch renaming 'r' to 'v' (through 'w')
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   464
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   465
  $ case_desc="merge with copies info on both side - P side: rename t to v, Q side: r to v, (different content)"
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   466
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   467
  $ hg up 'desc("p-2")'
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   468
  3 files updated, 0 files merged, 2 files removed, 0 files unresolved
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   469
  $ hg merge 'desc("q-2")' --tool ':union'
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   470
  merging v
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   471
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   472
  (branch merge, don't forget to commit)
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   473
  $ hg ci -m "mPQm-0 $case_desc - one way"
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   474
  $ hg up 'desc("q-2")'
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   475
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   476
  $ hg merge 'desc("p-2")' --tool ':union'
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   477
  merging v
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   478
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   479
  (branch merge, don't forget to commit)
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   480
  $ hg ci -m "mQPm-0 $case_desc - the other way"
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   481
  created new head
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   482
  $ hg log -G --rev '::(desc("mAEm")+desc("mEAm"))'
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   483
  o    mEAm-0 merge with copies info on both side - A side: rename d to f, E side: b to f, (same content for f) - the other way
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   484
  |\
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   485
  +---o  mAEm-0 merge with copies info on both side - A side: rename d to f, E side: b to f, (same content for f) - one way
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   486
  | |/
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   487
  | o  e-2 g -move-> f
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   488
  | |
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   489
  | o  e-1 b -move-> g
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   490
  | |
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   491
  o |  a-2: e -move-> f
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   492
  | |
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   493
  o |  a-1: d -move-> e
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   494
  |/
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   495
  o  i-2: c -move-> d, s -move-> t
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   496
  |
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   497
  o  i-1: a -move-> c, p -move-> s
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   498
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
   499
  o  i-0 initial commit: a b h p q r
46559
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   500
  
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   501
46543
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46542
diff changeset
   502
Subcase: existing copy information overwritten on one branch
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46542
diff changeset
   503
````````````````````````````````````````````````````````````
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   504
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   505
Merge:
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   506
- 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
   507
- 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
   508
46542
f8888f5c8c50 test-copies: improve description of the B+F case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46541
diff changeset
   509
  $ case_desc="simple merge - B side: unrelated change, F side: overwrite d with a copy (from h->i->d)"
46532
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46531
diff changeset
   510
45732
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 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
   512
  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
   513
  $ 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
   514
  $ 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
   515
  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
   516
  $ 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
   517
  $ hg commit -m "f-2: rename i -> d"
47064
7383df4f6e19 tests: run python script through quoted interpreter instead of directly
Matt Harbison <matt_harbison@yahoo.com>
parents: 46884
diff changeset
   518
  $ 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
   519
     rev linkrev nodeid       p1           p2
46552
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
   520
       0       * d8252ab2e760 000000000000 000000000000 (no-changeset !)
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
   521
       0       * ae258f702dfe 000000000000 000000000000 (changeset !)
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
   522
       1       * b004912a8510 000000000000 000000000000
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
   523
       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
   524
  $ hg up 'desc("b-1")'
46527
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
   525
  3 files updated, 0 files merged, 0 files removed, 0 files unresolved (no-changeset !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
   526
  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
   527
  $ hg merge 'desc("f-2")'
46527
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
   528
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved (no-changeset !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
   529
  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
   530
  (branch merge, don't forget to commit)
46532
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46531
diff changeset
   531
  $ 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
   532
  $ 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
   533
  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
   534
  $ 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
   535
  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
   536
  (branch merge, don't forget to commit)
46532
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46531
diff changeset
   537
  $ 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
   538
  created new head
46559
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   539
  $ 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
   540
  $ hg log -G --rev '::(desc("mBFm")+desc("mFBm"))'
46559
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   541
  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
   542
  |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   543
  +---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
   544
  | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   545
  | 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
   546
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   547
  | 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
   548
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   549
  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
   550
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   551
  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
   552
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   553
  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
   554
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
   555
  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
   556
  
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   557
46560
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   558
Subcase: existing copy information overwritten on one branch, with different content)
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   559
`````````````````````````````````````````````````````````````````````````````````````
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   560
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   561
Merge:
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   562
- one with change to an unrelated file (b)
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   563
- one overwriting a file (t) with a rename (from r to x to t), v content is not the same as on the other branch
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   564
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   565
  $ case_desc="simple merge - B side: unrelated change, R side: overwrite d with a copy (from r->x->t) different content"
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   566
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   567
  $ hg up 'desc("i-2")'
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   568
  6 files updated, 0 files merged, 0 files removed, 0 files unresolved
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   569
  $ hg mv r x
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   570
  $ hg commit -m "r-1: rename r -> x"
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   571
  created new head
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   572
  $ hg mv --force x t
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   573
  $ hg commit -m "r-2: rename t -> x"
47064
7383df4f6e19 tests: run python script through quoted interpreter instead of directly
Matt Harbison <matt_harbison@yahoo.com>
parents: 46884
diff changeset
   574
  $ hg debugindex t | "$PYTHON" ../no-linkrev
46560
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   575
     rev linkrev nodeid       p1           p2
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   576
       0       * d74efbf65309 000000000000 000000000000 (no-changeset !)
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   577
       1       * 02a930b9d7ad 000000000000 000000000000 (no-changeset !)
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   578
       0       * 5aed6a8dbff0 000000000000 000000000000 (changeset !)
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   579
       1       * a38b2fa17021 000000000000 000000000000 (changeset !)
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   580
  $ hg up 'desc("b-1")'
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   581
  3 files updated, 0 files merged, 0 files removed, 0 files unresolved
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   582
  $ hg merge 'desc("r-2")'
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   583
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   584
  (branch merge, don't forget to commit)
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   585
  $ hg ci -m "mBRm-0 $case_desc - one way"
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   586
  $ hg up 'desc("r-2")'
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   587
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   588
  $ hg merge 'desc("b-1")'
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   589
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   590
  (branch merge, don't forget to commit)
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   591
  $ hg ci -m "mRBm-0 $case_desc - the other way"
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   592
  created new head
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   593
  $ hg up null --quiet
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   594
  $ hg log -G --rev '::(desc("mBRm")+desc("mRBm"))'
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   595
  o    mRBm-0 simple merge - B side: unrelated change, R side: overwrite d with a copy (from r->x->t) different content - the other way
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   596
  |\
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   597
  +---o  mBRm-0 simple merge - B side: unrelated change, R side: overwrite d with a copy (from r->x->t) different content - one way
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   598
  | |/
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   599
  | o  r-2: rename t -> x
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   600
  | |
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   601
  | o  r-1: rename r -> x
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   602
  | |
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   603
  o |  b-1: b update
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   604
  |/
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   605
  o  i-2: c -move-> d, s -move-> t
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   606
  |
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   607
  o  i-1: a -move-> c, p -move-> s
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   608
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
   609
  o  i-0 initial commit: a b h p q r
46560
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   610
  
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
   611
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   612
46543
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46542
diff changeset
   613
Subcase: reset of the copy history on one side
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46542
diff changeset
   614
``````````````````````````````````````````````
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46542
diff changeset
   615
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   616
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
- 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
   618
- 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
   619
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   620
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
   621
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
   622
46537
1e96fdcc8bc1 test-copies: improve description of the D+G case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46536
diff changeset
   623
  $ case_desc="actual content merge, copies on one side - D side: delete and re-add (different content), G side: update content"
46532
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46531
diff changeset
   624
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   625
  $ hg up 'desc("i-2")'
46559
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
   626
  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
   627
  $ 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
   628
  $ 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
   629
  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
   630
  $ 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
   631
  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
   632
  $ 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
   633
  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
   634
  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
   635
  (branch merge, don't forget to commit)
46532
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46531
diff changeset
   636
  $ 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
   637
  $ 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
   638
  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
   639
  $ 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
   640
  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
   641
  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
   642
  (branch merge, don't forget to commit)
46532
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46531
diff changeset
   643
  $ 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
   644
  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
   645
  $ hg log -G --rev '::(desc("mDGm")+desc("mGDm"))'
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   646
  @    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
   647
  |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   648
  +---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
   649
  | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   650
  | 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
   651
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   652
  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
   653
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   654
  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
   655
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   656
  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
   657
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   658
  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
   659
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
   660
  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
   661
  
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   662
46543
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46542
diff changeset
   663
Subcase: merging a change to a file with a "copy overwrite" to that file from another branch
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46542
diff changeset
   664
````````````````````````````````````````````````````````````````````````````````````````````
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   665
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   666
Merge:
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   667
- 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
   668
- 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
   669
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   670
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
   671
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
   672
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   673
Note:
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   674
| 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
   675
| "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
   676
|
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   677
| 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
   678
46538
2f99dedf96b1 test-copies: improve description of the G+F case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46537
diff changeset
   679
  $ case_desc="merge - G side: content change, F side: copy overwrite, no content change"
46532
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46531
diff changeset
   680
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   681
  $ 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
   682
  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
   683
  $ hg merge 'desc("g-1")' --tool :union
46527
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
   684
  merging d (no-changeset !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
   685
  0 files updated, 1 files merged, 0 files removed, 0 files unresolved (no-changeset !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
   686
  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
   687
  (branch merge, don't forget to commit)
46532
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46531
diff changeset
   688
  $ 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
   689
  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
   690
  $ hg up 'desc("g-1")'
46527
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
   691
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved (no-changeset !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
   692
  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
   693
  $ hg merge 'desc("f-2")' --tool :union
46527
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
   694
  merging d (no-changeset !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
   695
  0 files updated, 1 files merged, 1 files removed, 0 files unresolved (no-changeset !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
   696
  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
   697
  (branch merge, don't forget to commit)
46532
c9f502721783 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46531
diff changeset
   698
  $ 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
   699
  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
   700
  $ hg log -G --rev '::(desc("mGFm")+desc("mFGm"))'
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   701
  @    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
   702
  |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   703
  +---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
   704
  | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   705
  | 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
   706
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   707
  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
   708
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   709
  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
   710
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   711
  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
   712
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   713
  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
   714
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
   715
  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
   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
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   718
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   719
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
   720
-------------------------------------------------------------
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   721
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   722
Merge:
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   723
- 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
   724
- 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
   725
- 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
   726
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   727
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
   728
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
   729
46539
a1a06dca6941 test-copies: improve description of the G+C case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46538
diff changeset
   730
  $ case_desc="merge updated/deleted - revive the file (updated content)"
a1a06dca6941 test-copies: improve description of the G+C case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46538
diff changeset
   731
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   732
  $ 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
   733
  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
   734
  $ 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
   735
  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
   736
  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
   737
  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
   738
  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
   739
  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
   740
  [1]
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 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
   742
  (no more unresolved files)
46539
a1a06dca6941 test-copies: improve description of the G+C case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46538
diff changeset
   743
  $ 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
   744
  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
   745
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   746
  $ 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
   747
  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
   748
  $ 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
   749
  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
   750
  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
   751
  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
   752
  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
   753
  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
   754
  [1]
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 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
   756
  (no more unresolved files)
46539
a1a06dca6941 test-copies: improve description of the G+C case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46538
diff changeset
   757
  $ 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
   758
  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
   759
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   760
  $ hg log -G --rev '::(desc("mCGm")+desc("mGCm"))'
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   761
  @    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
   762
  |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   763
  +---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
   764
  | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   765
  | 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
   766
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   767
  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
   768
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   769
  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
   770
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   771
  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
   772
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
   773
  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
   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
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   777
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   778
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
   779
--------------------------------------------------------
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
Merge:
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   782
- 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
   783
- 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
   784
- 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
   785
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   786
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
   787
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
   788
46540
311a18777f45 test-copies: improve description of the B+C "revert/restore" case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46539
diff changeset
   789
  $ case_desc="merge explicitely revive deleted file - B side: unrelated change, C side: delete d (restored by merge)"
311a18777f45 test-copies: improve description of the B+C "revert/restore" case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46539
diff changeset
   790
45732
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 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
   792
  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
   793
  $ 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
   794
  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
   795
  (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
   796
  $ hg revert --rev 'desc("b-1")' d
46540
311a18777f45 test-copies: improve description of the B+C "revert/restore" case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46539
diff changeset
   797
  $ 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
   798
  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
   799
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 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
   801
  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
   802
  $ 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
   803
  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
   804
  (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
   805
  $ hg revert --rev 'desc("b-1")' d
46540
311a18777f45 test-copies: improve description of the B+C "revert/restore" case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46539
diff changeset
   806
  $ 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
   807
  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
   808
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   809
  $ hg log -G --rev '::(desc("mCB-revert-m")+desc("mBC-revert-m"))'
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   810
  @    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
   811
  |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   812
  +---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
   813
  | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   814
  | 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
   815
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   816
  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
   817
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   818
  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
   819
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   820
  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
   821
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
   822
  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
   823
  
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   824
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   825
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   826
  $ 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
   827
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
   828
Merging a branch where a rename was deleted with a branch where the same file was renamed
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
   829
------------------------------------------------------------------------------------------
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
   830
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
   831
Create a "conflicting" merge where `d` get removed on one branch before its
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
   832
rename information actually conflict with the other branch.
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
   833
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
   834
(the copy information from the branch that was not deleted should win).
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
   835
46541
60c52bdb1784 test-copies: improve description of the C+H case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46540
diff changeset
   836
  $ case_desc="simple merge - C side: d is the results of renames then deleted, H side: d is result of another rename (same content as the other branch)"
60c52bdb1784 test-copies: improve description of the C+H case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46540
diff changeset
   837
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
   838
  $ hg up 'desc("i-0")'
46555
46205a478a08 test-copies: add 3 new files with their own content
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46554
diff changeset
   839
  6 files updated, 0 files merged, 0 files removed, 0 files unresolved
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
   840
  $ hg mv b d
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
   841
  $ hg ci -m "h-1: b -(move)-> d"
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
   842
  created new head
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
   843
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
   844
  $ hg up 'desc("c-1")'
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   845
  2 files updated, 0 files merged, 3 files removed, 0 files unresolved
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
   846
  $ hg merge 'desc("h-1")'
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
   847
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
   848
  (branch merge, don't forget to commit)
46541
60c52bdb1784 test-copies: improve description of the C+H case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46540
diff changeset
   849
  $ hg ci -m "mCH-delete-before-conflict-m-0 $case_desc - one way"
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
   850
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
   851
  $ hg up 'desc("h-1")'
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   852
  2 files updated, 0 files merged, 1 files removed, 0 files unresolved
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
   853
  $ hg merge 'desc("c-1")'
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   854
  1 files updated, 0 files merged, 2 files removed, 0 files unresolved
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
   855
  (branch merge, don't forget to commit)
46541
60c52bdb1784 test-copies: improve description of the C+H case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46540
diff changeset
   856
  $ hg ci -m "mHC-delete-before-conflict-m-0 $case_desc - the other way"
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
   857
  created new head
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
   858
  $ hg log -G --rev '::(desc("mCH-delete-before-conflict-m")+desc("mHC-delete-before-conflict-m"))'
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   859
  @    mHC-delete-before-conflict-m-0 simple merge - C side: d is the results of renames then deleted, H side: d is result of another rename (same content as the other branch) - the other way
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
   860
  |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   861
  +---o  mCH-delete-before-conflict-m-0 simple merge - C side: d is the results of renames then deleted, H side: d is result of another rename (same content as the other branch) - one way
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
   862
  | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   863
  | o  h-1: b -(move)-> d
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
   864
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
   865
  o |  c-1 delete d
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
   866
  | |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   867
  o |  i-2: c -move-> d, s -move-> t
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
   868
  | |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   869
  o |  i-1: a -move-> c, p -move-> s
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
   870
  |/
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
   871
  o  i-0 initial commit: a b h p q r
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
   872
  
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
   873
46553
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   874
Variant of previous with extra changes introduced by the merge
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   875
--------------------------------------------------------------
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   876
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   877
Multiple cases above explicitely test cases where content are the same on both side during merge. In this section we will introduce variants for theses cases where new change are introduced to these file content during the merges.
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   878
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   879
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   880
Subcase: merge has same initial content on both side, but merge introduced a change
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   881
```````````````````````````````````````````````````````````````````````````````````
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   882
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   883
Same as `mAEm` and `mEAm` but with extra change to the file before commiting
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   884
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   885
- the "e-" branch renaming b to f (through 'g')
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   886
- the "a-" branch renaming d to f (through e)
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   887
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   888
  $ case_desc="merge with file update and copies info on both side - A side: rename d to f, E side: b to f, (same content for f in parent)"
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   889
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   890
  $ hg up 'desc("a-2")'
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   891
  2 files updated, 0 files merged, 1 files removed, 0 files unresolved
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   892
  $ hg merge 'desc("e-2")'
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   893
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved (no-changeset !)
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   894
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved (changeset !)
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   895
  (branch merge, don't forget to commit)
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   896
  $ echo "content change for mAE-change-m" > f
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   897
  $ hg ci -m "mAE-change-m-0 $case_desc - one way"
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   898
  created new head
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   899
  $ hg up 'desc("e-2")'
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   900
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   901
  $ hg merge 'desc("a-2")'
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   902
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved (no-changeset !)
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   903
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved (changeset !)
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   904
  (branch merge, don't forget to commit)
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   905
  $ echo "content change for mEA-change-m" > f
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   906
  $ hg ci -m "mEA-change-m-0 $case_desc - the other way"
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   907
  created new head
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   908
  $ hg log -G --rev '::(desc("mAE-change-m")+desc("mEA-change-m"))'
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   909
  @    mEA-change-m-0 merge with file update and copies info on both side - A side: rename d to f, E side: b to f, (same content for f in parent) - the other way
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   910
  |\
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   911
  +---o  mAE-change-m-0 merge with file update and copies info on both side - A side: rename d to f, E side: b to f, (same content for f in parent) - one way
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   912
  | |/
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   913
  | o  e-2 g -move-> f
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   914
  | |
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   915
  | o  e-1 b -move-> g
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   916
  | |
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   917
  o |  a-2: e -move-> f
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   918
  | |
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   919
  o |  a-1: d -move-> e
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   920
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   921
  o  i-2: c -move-> d, s -move-> t
46553
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   922
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
   923
  o  i-1: a -move-> c, p -move-> s
46553
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   924
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
   925
  o  i-0 initial commit: a b h p q r
46553
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   926
  
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
   927
46782
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   928
Subcase: merge overwrite common copy information, but with extra change during the merge
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   929
````````````````````````````````````````````````````````````````````````````````````````
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   930
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   931
Merge:
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   932
- one with change to an unrelated file (b)
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   933
- one overwriting a file (d) with a rename (from h to i to d)
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   934
- the merge update f content
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   935
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   936
  $ case_desc="merge with extra change - B side: unrelated change, F side: overwrite d with a copy (from h->i->d)"
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   937
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   938
  $ hg up 'desc("f-2")'
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   939
  2 files updated, 0 files merged, 2 files removed, 0 files unresolved
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   940
#if no-changeset
47064
7383df4f6e19 tests: run python script through quoted interpreter instead of directly
Matt Harbison <matt_harbison@yahoo.com>
parents: 46884
diff changeset
   941
  $ hg debugindex d | "$PYTHON" ../no-linkrev
46782
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   942
     rev linkrev nodeid       p1           p2
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   943
       0       * d8252ab2e760 000000000000 000000000000
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   944
       1       * b004912a8510 000000000000 000000000000
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   945
       2       * 7b79e2fe0c89 000000000000 000000000000
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   946
       3       * 17ec97e60577 d8252ab2e760 000000000000
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   947
       4       * 06dabf50734c b004912a8510 17ec97e60577
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   948
       5       * 19c0e3924691 17ec97e60577 b004912a8510
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   949
       6       * 89c873a01d97 7b79e2fe0c89 17ec97e60577
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   950
       7       * d55cb4e9ef57 000000000000 000000000000
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   951
#else
47064
7383df4f6e19 tests: run python script through quoted interpreter instead of directly
Matt Harbison <matt_harbison@yahoo.com>
parents: 46884
diff changeset
   952
  $ hg debugindex d | "$PYTHON" ../no-linkrev
46782
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   953
     rev linkrev nodeid       p1           p2
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   954
       0       * ae258f702dfe 000000000000 000000000000
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   955
       1       * b004912a8510 000000000000 000000000000
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   956
       2       * 5cce88bf349f ae258f702dfe 000000000000
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   957
       3       * cc269dd788c8 b004912a8510 5cce88bf349f
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   958
       4       * 51c91a115080 5cce88bf349f b004912a8510
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   959
#endif
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   960
  $ hg up 'desc("b-1")'
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   961
  3 files updated, 0 files merged, 0 files removed, 0 files unresolved (no-changeset !)
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   962
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved (changeset !)
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   963
  $ hg merge 'desc("f-2")'
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   964
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved (no-changeset !)
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   965
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved (changeset !)
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   966
  (branch merge, don't forget to commit)
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   967
  $ echo "extra-change to (formelly h) during the merge" > d
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   968
  $ hg ci -m "mBF-change-m-0 $case_desc - one way"
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   969
  created new head
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   970
  $ hg manifest --rev . --debug | grep "  d"
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   971
  1c334238bd42ec85c6a0d83fd1b2a898a6a3215d 644   d (no-changeset !)
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   972
  cea2d99c0fde64672ef61953786fdff34f16e230 644   d (changeset !)
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   973
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   974
  $ hg up 'desc("f-2")'
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   975
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   976
  $ hg merge 'desc("b-1")'
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   977
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   978
  (branch merge, don't forget to commit)
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   979
  $ echo "extra-change to (formelly h) during the merge" > d
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   980
  $ hg ci -m "mFB-change-m-0 $case_desc - the other way"
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   981
  created new head
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   982
  $ hg manifest --rev . --debug | grep "  d"
46811
5a0b930cfb3e commit: get info from mergestate whether a file was merged or not
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46782
diff changeset
   983
  1c334238bd42ec85c6a0d83fd1b2a898a6a3215d 644   d (no-changeset !)
46782
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   984
  cea2d99c0fde64672ef61953786fdff34f16e230 644   d (changeset !)
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   985
#if no-changeset
47064
7383df4f6e19 tests: run python script through quoted interpreter instead of directly
Matt Harbison <matt_harbison@yahoo.com>
parents: 46884
diff changeset
   986
  $ hg debugindex d | "$PYTHON" ../no-linkrev
46782
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   987
     rev linkrev nodeid       p1           p2
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   988
       0       * d8252ab2e760 000000000000 000000000000
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   989
       1       * b004912a8510 000000000000 000000000000
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   990
       2       * 7b79e2fe0c89 000000000000 000000000000
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   991
       3       * 17ec97e60577 d8252ab2e760 000000000000
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   992
       4       * 06dabf50734c b004912a8510 17ec97e60577
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   993
       5       * 19c0e3924691 17ec97e60577 b004912a8510
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   994
       6       * 89c873a01d97 7b79e2fe0c89 17ec97e60577
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   995
       7       * d55cb4e9ef57 000000000000 000000000000
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   996
       8       * 1c334238bd42 7b79e2fe0c89 000000000000
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   997
#else
47064
7383df4f6e19 tests: run python script through quoted interpreter instead of directly
Matt Harbison <matt_harbison@yahoo.com>
parents: 46884
diff changeset
   998
  $ hg debugindex d | "$PYTHON" ../no-linkrev
46782
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
   999
     rev linkrev nodeid       p1           p2
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  1000
       0       * ae258f702dfe 000000000000 000000000000
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  1001
       1       * b004912a8510 000000000000 000000000000
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  1002
       2       * 5cce88bf349f ae258f702dfe 000000000000
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  1003
       3       * cc269dd788c8 b004912a8510 5cce88bf349f
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  1004
       4       * 51c91a115080 5cce88bf349f b004912a8510
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  1005
       5       * cea2d99c0fde ae258f702dfe 000000000000
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  1006
#endif
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  1007
  $ hg log -G --rev '::(desc("mBF-change-m")+desc("mFB-change-m"))'
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  1008
  @    mFB-change-m-0 merge with extra change - B side: unrelated change, F side: overwrite d with a copy (from h->i->d) - the other way
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  1009
  |\
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  1010
  +---o  mBF-change-m-0 merge with extra change - B side: unrelated change, F side: overwrite d with a copy (from h->i->d) - one way
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  1011
  | |/
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  1012
  | o  f-2: rename i -> d
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  1013
  | |
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  1014
  | o  f-1: rename h -> i
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  1015
  | |
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  1016
  o |  b-1: b update
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  1017
  |/
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  1018
  o  i-2: c -move-> d, s -move-> t
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  1019
  |
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  1020
  o  i-1: a -move-> c, p -move-> s
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  1021
  |
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  1022
  o  i-0 initial commit: a b h p q r
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  1023
  
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  1024
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
  1025
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
  1026
````````````````````````````````````````````````````````````````
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
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
  1029
- 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
  1030
- 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
  1031
- 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
  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
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
  1034
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
  1035
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
  $ 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
  1037
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 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
  1039
  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
  1040
  $ 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
  1041
  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
  1042
  (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
  1043
  $ 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
  1044
  $ 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
  1045
  $ 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
  1046
  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
  1047
  $ 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
  1048
  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
  1049
  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
  1050
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 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
  1052
  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
  1053
  $ 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
  1054
  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
  1055
  (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
  1056
  $ 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
  1057
  $ 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
  1058
  $ 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
  1059
  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
  1060
  $ 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
  1061
  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
  1062
  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
  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
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
  $ 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
  1066
  $ 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
  1067
  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
  1068
  |\
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
  +---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
  1070
  | |/
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
  | 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
  1072
  | |
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
  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
  1074
  |/
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
  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
  1076
  |
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  1077
  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
  1078
  |
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  1079
  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
  1080
  
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  1081
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1082
Decision from previous merge are properly chained with later merge
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1083
------------------------------------------------------------------
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1084
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1085
Subcase: chaining conflicting rename resolution
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1086
```````````````````````````````````````````````
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1087
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1088
The "mAEm" and "mEAm" case create a rename tracking conflict on file 'f'. We
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1089
add more change on the respective branch and merge again. These second merge
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1090
does not involve the file 'f' and the arbitration done within "mAEm" and "mEA"
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1091
about that file should stay unchanged.
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1092
46812
e4696ba43ecd test-copies: show some wrong ChangedFiles upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46811
diff changeset
  1093
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
  1094
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1095
  $ case_desc="chained merges (conflict -> simple) - same content everywhere"
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1096
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1097
(extra unrelated changes)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1098
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1099
  $ 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
  1100
  6 files updated, 0 files merged, 0 files removed, 0 files unresolved
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1101
  $ echo j > unrelated-j
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1102
  $ hg add unrelated-j
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1103
  $ hg ci -m 'j-1: unrelated changes (based on the "a" series of changes)'
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1104
  created new head
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1105
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1106
  $ hg up 'desc("e-2")'
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1107
  2 files updated, 0 files merged, 2 files removed, 0 files unresolved (no-changeset !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1108
  1 files updated, 0 files merged, 2 files removed, 0 files unresolved (changeset !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1109
  $ echo k > unrelated-k
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1110
  $ hg add unrelated-k
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1111
  $ hg ci -m 'k-1: unrelated changes (based on "e" changes)'
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1112
  created new head
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1113
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1114
(merge variant 1)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1115
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1116
  $ hg up 'desc("mAEm")'
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1117
  1 files updated, 0 files merged, 2 files removed, 0 files unresolved (no-changeset !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1118
  0 files updated, 0 files merged, 2 files removed, 0 files unresolved (changeset !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1119
  $ hg merge 'desc("k-1")'
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1120
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1121
  (branch merge, don't forget to commit)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1122
  $ hg ci -m "mAE,Km: $case_desc"
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1123
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1124
(merge variant 2)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1125
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1126
  $ hg up 'desc("k-1")'
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1127
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved (no-changeset !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1128
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved (changeset !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1129
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1130
  $ hg merge 'desc("mAEm")'
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1131
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved (no-changeset !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1132
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved (changeset !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1133
  (branch merge, don't forget to commit)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1134
  $ hg ci -m "mK,AEm: $case_desc"
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1135
  created new head
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1136
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1137
(merge variant 3)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1138
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1139
  $ hg up 'desc("mEAm")'
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1140
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1141
  $ hg merge 'desc("j-1")'
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1142
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1143
  (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
  1144
  $ echo jj > unrelated-j
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1145
  $ hg ci -m "mEA,Jm: $case_desc"
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1146
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1147
(merge variant 4)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1148
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1149
  $ 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
  1150
  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
  1151
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved (changeset !)
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1152
  $ hg merge 'desc("mEAm")'
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1153
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved (no-changeset !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1154
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved (changeset !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1155
  (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
  1156
  $ echo jj > unrelated-j
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1157
  $ hg ci -m "mJ,EAm: $case_desc"
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1158
  created new head
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1159
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1160
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1161
  $ hg log -G --rev '::(desc("mAE,Km") + desc("mK,AEm") + desc("mEA,Jm") + desc("mJ,EAm"))'
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1162
  @    mJ,EAm: chained merges (conflict -> simple) - same content everywhere
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1163
  |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1164
  +---o  mEA,Jm: chained merges (conflict -> simple) - same content everywhere
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1165
  | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1166
  | | o    mK,AEm: chained merges (conflict -> simple) - same content everywhere
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1167
  | | |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1168
  | | +---o  mAE,Km: chained merges (conflict -> simple) - same content everywhere
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1169
  | | | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1170
  | | | o  k-1: unrelated changes (based on "e" changes)
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1171
  | | | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1172
  | o | |  j-1: unrelated changes (based on the "a" series of changes)
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1173
  | | | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1174
  o-----+  mEAm-0 merge with copies info on both side - A side: rename d to f, E side: b to f, (same content for f) - the other way
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1175
  |/ / /
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1176
  | o /  mAEm-0 merge with copies info on both side - A side: rename d to f, E side: b to f, (same content for f) - one way
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1177
  |/|/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1178
  | o  e-2 g -move-> f
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1179
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1180
  | o  e-1 b -move-> g
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1181
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1182
  o |  a-2: e -move-> f
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1183
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1184
  o |  a-1: d -move-> e
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1185
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  1186
  o  i-2: c -move-> d, s -move-> t
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1187
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  1188
  o  i-1: a -move-> c, p -move-> s
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1189
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
  1190
  o  i-0 initial commit: a b h p q r
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1191
  
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1192
46561
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1193
Subcase: chaining conflicting rename resolution, with actual merging happening
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1194
``````````````````````````````````````````````````````````````````````````````
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1195
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1196
The "mPQm" and "mQPm" case create a rename tracking conflict on file 't'. We
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1197
add more change on the respective branch and merge again. These second merge
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1198
does not involve the file 't' and the arbitration done within "mPQm" and "mQP"
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1199
about that file should stay unchanged.
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1200
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1201
  $ case_desc="chained merges (conflict -> simple) - different content"
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1202
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1203
(extra unrelated changes)
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1204
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1205
  $ hg up 'desc("p-2")'
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1206
  3 files updated, 0 files merged, 3 files removed, 0 files unresolved
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1207
  $ echo s > unrelated-s
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1208
  $ hg add unrelated-s
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1209
  $ hg ci -m 's-1: unrelated changes (based on the "p" series of changes)'
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1210
  created new head
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1211
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1212
  $ hg up 'desc("q-2")'
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1213
  2 files updated, 0 files merged, 2 files removed, 0 files unresolved
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1214
  $ echo t > unrelated-t
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1215
  $ hg add unrelated-t
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1216
  $ hg ci -m 't-1: unrelated changes (based on "q" changes)'
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1217
  created new head
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1218
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1219
(merge variant 1)
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1220
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1221
  $ hg up 'desc("mPQm")'
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1222
  1 files updated, 0 files merged, 2 files removed, 0 files unresolved
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1223
  $ hg merge 'desc("t-1")'
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1224
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1225
  (branch merge, don't forget to commit)
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1226
  $ hg ci -m "mPQ,Tm: $case_desc"
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1227
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1228
(merge variant 2)
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1229
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1230
  $ hg up 'desc("t-1")'
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1231
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1232
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1233
  $ hg merge 'desc("mPQm")'
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1234
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1235
  (branch merge, don't forget to commit)
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1236
  $ hg ci -m "mT,PQm: $case_desc"
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1237
  created new head
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1238
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1239
(merge variant 3)
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1240
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1241
  $ hg up 'desc("mQPm")'
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1242
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1243
  $ hg merge 'desc("s-1")'
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1244
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1245
  (branch merge, don't forget to commit)
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1246
  $ hg ci -m "mQP,Sm: $case_desc"
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1247
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1248
(merge variant 4)
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1249
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1250
  $ hg up 'desc("s-1")'
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1251
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1252
  $ hg merge 'desc("mQPm")'
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1253
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1254
  (branch merge, don't forget to commit)
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1255
  $ hg ci -m "mS,QPm: $case_desc"
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1256
  created new head
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1257
  $ hg up null --quiet
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1258
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1259
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1260
  $ hg log -G --rev '::(desc("mPQ,Tm") + desc("mT,PQm") + desc("mQP,Sm") + desc("mS,QPm"))'
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1261
  o    mS,QPm: chained merges (conflict -> simple) - different content
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1262
  |\
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1263
  +---o  mQP,Sm: chained merges (conflict -> simple) - different content
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1264
  | |/
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1265
  | | o    mT,PQm: chained merges (conflict -> simple) - different content
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1266
  | | |\
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1267
  | | +---o  mPQ,Tm: chained merges (conflict -> simple) - different content
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1268
  | | | |/
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1269
  | | | o  t-1: unrelated changes (based on "q" changes)
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1270
  | | | |
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1271
  | o | |  s-1: unrelated changes (based on the "p" series of changes)
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1272
  | | | |
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1273
  o-----+  mQPm-0 merge with copies info on both side - P side: rename t to v, Q side: r to v, (different content) - the other way
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1274
  |/ / /
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1275
  | o /  mPQm-0 merge with copies info on both side - P side: rename t to v, Q side: r to v, (different content) - one way
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1276
  |/|/
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1277
  | o  q-2 w -move-> v
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1278
  | |
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1279
  | o  q-1 r -move-> w
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1280
  | |
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1281
  o |  p-2: u -move-> v
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1282
  | |
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1283
  o |  p-1: t -move-> u
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1284
  |/
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1285
  o  i-2: c -move-> d, s -move-> t
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1286
  |
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1287
  o  i-1: a -move-> c, p -move-> s
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1288
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
  1289
  o  i-0 initial commit: a b h p q r
46561
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1290
  
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1291
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1292
Subcase: chaining salvage information during a merge
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1293
````````````````````````````````````````````````````
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1294
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1295
We add more change on the branch were the file was deleted. merging again
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1296
should preserve the fact eh file was salvaged.
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1297
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1298
  $ case_desc="chained merges (salvaged -> simple) - same content (when the file exists)"
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1299
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1300
(creating the change)
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1301
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1302
  $ hg up 'desc("c-1")'
46561
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1303
  5 files updated, 0 files merged, 0 files removed, 0 files unresolved
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1304
  $ echo l > unrelated-l
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1305
  $ hg add unrelated-l
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1306
  $ hg ci -m 'l-1: unrelated changes (based on "c" changes)'
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1307
  created new head
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1308
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1309
(Merge variant 1)
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1310
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1311
  $ hg up 'desc("mBC-revert-m")'
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1312
  2 files updated, 0 files merged, 1 files removed, 0 files unresolved
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1313
  $ hg merge 'desc("l-1")'
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1314
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1315
  (branch merge, don't forget to commit)
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1316
  $ hg ci -m "mBC+revert,Lm: $case_desc"
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1317
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1318
(Merge variant 2)
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1319
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1320
  $ hg up 'desc("mCB-revert-m")'
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1321
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1322
  $ hg merge 'desc("l-1")'
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1323
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1324
  (branch merge, don't forget to commit)
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1325
  $ hg ci -m "mCB+revert,Lm: $case_desc"
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1326
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1327
(Merge variant 3)
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1328
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1329
  $ hg up 'desc("l-1")'
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1330
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1331
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1332
  $ hg merge 'desc("mBC-revert-m")'
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1333
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1334
  (branch merge, don't forget to commit)
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1335
  $ hg ci -m "mL,BC+revertm: $case_desc"
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1336
  created new head
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1337
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1338
(Merge variant 4)
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1339
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1340
  $ hg up 'desc("l-1")'
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1341
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1342
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1343
  $ hg merge 'desc("mCB-revert-m")'
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1344
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1345
  (branch merge, don't forget to commit)
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1346
  $ hg ci -m "mL,CB+revertm: $case_desc"
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1347
  created new head
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1348
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1349
  $ hg log -G --rev '::(desc("mBC+revert,Lm") + desc("mCB+revert,Lm") + desc("mL,BC+revertm") + desc("mL,CB+revertm"))'
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1350
  @    mL,CB+revertm: chained merges (salvaged -> simple) - same content (when the file exists)
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1351
  |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1352
  | | o  mL,BC+revertm: chained merges (salvaged -> simple) - same content (when the file exists)
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1353
  | |/|
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1354
  +-+---o  mCB+revert,Lm: chained merges (salvaged -> simple) - same content (when the file exists)
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1355
  | | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1356
  | +---o  mBC+revert,Lm: chained merges (salvaged -> simple) - same content (when the file exists)
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1357
  | | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1358
  | o |  l-1: unrelated changes (based on "c" changes)
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1359
  | | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1360
  | | o  mBC-revert-m-0 merge explicitely revive deleted file - B side: unrelated change, C side: delete d (restored by merge) - the other way
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1361
  | |/|
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1362
  o---+  mCB-revert-m-0 merge explicitely revive deleted file - B side: unrelated change, C side: delete d (restored by merge) - one way
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1363
  |/ /
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1364
  o |  c-1 delete d
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1365
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1366
  | o  b-1: b update
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1367
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  1368
  o  i-2: c -move-> d, s -move-> t
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1369
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  1370
  o  i-1: a -move-> c, p -move-> s
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1371
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
  1372
  o  i-0 initial commit: a b h p q r
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1373
  
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1374
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1375
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1376
Subcase: chaining "merged" information during a merge
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1377
``````````````````````````````````````````````````````
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1378
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1379
When a non-rename change are merged with a copy overwrite, the merge pick the copy source from (p1) as the reference. We should preserve this information in subsequent merges.
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1380
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1381
  $ case_desc="chained merges (copy-overwrite -> simple) - same content"
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1382
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1383
(extra unrelated changes)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1384
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1385
  $ hg up 'desc("f-2")'
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1386
  2 files updated, 0 files merged, 2 files removed, 0 files unresolved (no-changeset !)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1387
  1 files updated, 0 files merged, 2 files removed, 0 files unresolved (changeset !)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1388
  $ echo n > unrelated-n
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1389
  $ hg add unrelated-n
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1390
  $ hg ci -m 'n-1: unrelated changes (based on the "f" series of changes)'
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1391
  created new head
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1392
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1393
  $ hg up 'desc("g-1")'
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1394
  2 files updated, 0 files merged, 1 files removed, 0 files unresolved
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1395
  $ echo o > unrelated-o
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1396
  $ hg add unrelated-o
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1397
  $ hg ci -m 'o-1: unrelated changes (based on "g" changes)'
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1398
  created new head
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1399
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1400
(merge variant 1)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1401
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1402
  $ hg up 'desc("mFGm")'
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1403
  1 files updated, 0 files merged, 2 files removed, 0 files unresolved (no-changeset !)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1404
  0 files updated, 0 files merged, 2 files removed, 0 files unresolved (changeset !)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1405
  $ hg merge 'desc("o-1")'
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1406
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1407
  (branch merge, don't forget to commit)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1408
  $ hg ci -m "mFG,Om: $case_desc"
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1409
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1410
(merge variant 2)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1411
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1412
  $ hg up 'desc("o-1")'
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1413
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved (no-changeset !)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1414
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved (changeset !)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1415
  $ hg merge 'desc("FGm")'
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1416
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved (no-changeset !)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1417
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved (changeset !)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1418
  (branch merge, don't forget to commit)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1419
  $ hg ci -m "mO,FGm: $case_desc"
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1420
  created new head
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1421
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1422
(merge variant 3)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1423
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1424
  $ hg up 'desc("mGFm")'
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1425
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1426
  $ hg merge 'desc("n-1")'
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1427
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1428
  (branch merge, don't forget to commit)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1429
  $ hg ci -m "mGF,Nm: $case_desc"
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1430
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1431
(merge variant 4)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1432
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1433
  $ hg up 'desc("n-1")'
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1434
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1435
  $ hg merge 'desc("mGFm")'
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1436
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1437
  (branch merge, don't forget to commit)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1438
  $ hg ci -m "mN,GFm: $case_desc"
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1439
  created new head
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1440
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1441
  $ hg log -G --rev '::(desc("mFG,Om") + desc("mO,FGm") + desc("mGF,Nm") + desc("mN,GFm"))'
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1442
  @    mN,GFm: chained merges (copy-overwrite -> simple) - same content
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1443
  |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1444
  +---o  mGF,Nm: chained merges (copy-overwrite -> simple) - same content
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1445
  | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1446
  | | o    mO,FGm: chained merges (copy-overwrite -> simple) - same content
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1447
  | | |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1448
  | | +---o  mFG,Om: chained merges (copy-overwrite -> simple) - same content
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1449
  | | | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1450
  | | | o  o-1: unrelated changes (based on "g" changes)
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1451
  | | | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1452
  | o | |  n-1: unrelated changes (based on the "f" series of changes)
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1453
  | | | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1454
  o-----+  mGFm-0 merge - G side: content change, F side: copy overwrite, no content change - the other way
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1455
  |/ / /
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1456
  | o /  mFGm-0 merge - G side: content change, F side: copy overwrite, no content change - one way
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1457
  |/|/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1458
  | o  g-1: update d
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1459
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1460
  o |  f-2: rename i -> d
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1461
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  1462
  o |  f-1: rename h -> i
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1463
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  1464
  o  i-2: c -move-> d, s -move-> t
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1465
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  1466
  o  i-1: a -move-> c, p -move-> s
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1467
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
  1468
  o  i-0 initial commit: a b h p q r
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1469
  
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
  1470
46554
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1471
Subcase: chaining conflicting rename resolution, with extra change during the merge
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1472
```````````````````````````````````````````````````````````````````````````````````
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1473
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1474
The "mEA-change-m-0" and "mAE-change-m-0" case create a rename tracking conflict on file 'f'. We
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1475
add more change on the respective branch and merge again. These second merge
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1476
does not involve the file 'f' and the arbitration done within "mAEm" and "mEA"
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1477
about that file should stay unchanged.
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1478
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1479
  $ case_desc="chained merges (conflict+change -> simple) - same content on both branch in the initial merge"
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1480
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1481
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1482
(merge variant 1)
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1483
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1484
  $ hg up 'desc("mAE-change-m")'
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1485
  2 files updated, 0 files merged, 3 files removed, 0 files unresolved
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1486
  $ hg merge 'desc("k-1")'
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1487
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1488
  (branch merge, don't forget to commit)
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1489
  $ hg ci -m "mAE-change,Km: $case_desc"
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1490
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1491
(merge variant 2)
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1492
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1493
  $ hg up 'desc("k-1")'
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1494
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1495
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1496
  $ hg merge 'desc("mAE-change-m")'
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1497
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1498
  (branch merge, don't forget to commit)
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1499
  $ hg ci -m "mK,AE-change-m: $case_desc"
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1500
  created new head
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1501
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1502
(merge variant 3)
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1503
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1504
  $ hg up 'desc("mEA-change-m")'
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1505
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1506
  $ hg merge 'desc("j-1")'
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1507
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1508
  (branch merge, don't forget to commit)
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1509
  $ hg ci -m "mEA-change,Jm: $case_desc"
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1510
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1511
(merge variant 4)
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1512
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1513
  $ hg up 'desc("j-1")'
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1514
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1515
  $ hg merge 'desc("mEA-change-m")'
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1516
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1517
  (branch merge, don't forget to commit)
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1518
  $ hg ci -m "mJ,EA-change-m: $case_desc"
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1519
  created new head
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1520
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
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: 46553
diff changeset
  1522
  $ hg log -G --rev '::(desc("mAE-change,Km") + desc("mK,AE-change-m") + desc("mEA-change,Jm") + desc("mJ,EA-change-m"))'
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1523
  @    mJ,EA-change-m: chained merges (conflict+change -> simple) - same content on both branch in the initial merge
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1524
  |\
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1525
  +---o  mEA-change,Jm: chained merges (conflict+change -> simple) - same content on both branch in the initial merge
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1526
  | |/
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1527
  | | o    mK,AE-change-m: chained merges (conflict+change -> simple) - same content on both branch in the initial merge
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1528
  | | |\
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1529
  | | +---o  mAE-change,Km: chained merges (conflict+change -> simple) - same content on both branch in the initial merge
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1530
  | | | |/
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1531
  | | | o  k-1: unrelated changes (based on "e" changes)
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1532
  | | | |
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1533
  | o | |  j-1: unrelated changes (based on the "a" series of changes)
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1534
  | | | |
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1535
  o-----+  mEA-change-m-0 merge with file update and copies info on both side - A side: rename d to f, E side: b to f, (same content for f in parent) - the other way
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1536
  |/ / /
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1537
  | o /  mAE-change-m-0 merge with file update and copies info on both side - A side: rename d to f, E side: b to f, (same content for f in parent) - one way
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1538
  |/|/
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1539
  | o  e-2 g -move-> f
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1540
  | |
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1541
  | o  e-1 b -move-> g
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1542
  | |
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1543
  o |  a-2: e -move-> f
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1544
  | |
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1545
  o |  a-1: d -move-> e
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1546
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  1547
  o  i-2: c -move-> d, s -move-> t
46554
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1548
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  1549
  o  i-1: a -move-> c, p -move-> s
46554
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1550
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
  1551
  o  i-0 initial commit: a b h p q r
46554
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1552
  
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
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
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
  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
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
  1557
  $ 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
  1558
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
  1559
(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
  1560
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
  $ 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
  1562
  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
  1563
  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
  1564
  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
  1565
  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
  1566
  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
  1567
  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
  1568
  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
  1569
  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
  1570
  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
  1571
  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
  1572
  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
  1573
  h-1: b -(move)-> d
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
  1574
  i-0 initial commit: a b h p q r
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  1575
  i-1: a -move-> c, p -move-> s
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  1576
  i-2: c -move-> d, s -move-> t
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1577
  j-1: unrelated changes (based on the "a" series of changes)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1578
  k-1: unrelated changes (based on "e" changes)
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1579
  l-1: unrelated changes (based on "c" changes)
46533
e20977208924 test-copies: improve description of the A+B case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46532
diff changeset
  1580
  mABm-0 simple merge - A side: multiple renames, B side: unrelated update - the other way
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1581
  mAE,Km: chained merges (conflict -> simple) - same content everywhere
46554
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1582
  mAE-change,Km: chained merges (conflict+change -> simple) - same content on both branch in the initial merge
46553
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  1583
  mAE-change-m-0 merge with file update and copies info on both side - A side: rename d to f, E side: b to f, (same content for f in parent) - one way
46536
19f490690880 test-copies: improve description of the A+E case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46535
diff changeset
  1584
  mAEm-0 merge with copies info on both side - A side: rename d to f, E side: b to f, (same content for f) - one way
46533
e20977208924 test-copies: improve description of the A+B case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46532
diff changeset
  1585
  mBAm-0 simple merge - A side: multiple renames, B side: unrelated update - one way
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1586
  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
  1587
  mBC-change-m-0 merge explicitely revive deleted file - B side: unrelated change, C side: delete d (restored by merge) - the other way
46540
311a18777f45 test-copies: improve description of the B+C "revert/restore" case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46539
diff changeset
  1588
  mBC-revert-m-0 merge explicitely revive deleted file - B side: unrelated change, C side: delete d (restored by merge) - the other way
46534
979838adc46b test-copies: improve description of the B+C case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46533
diff changeset
  1589
  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
  1590
  mBCm-1 re-add d
46535
9a58f9eed303 test-copies: improve description of the B+D case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46534
diff changeset
  1591
  mBDm-0 simple merge - B side: unrelated update, D side: delete and recreate a file (with different content) - one way
46782
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  1592
  mBF-change-m-0 merge with extra change - B side: unrelated change, F side: overwrite d with a copy (from h->i->d) - one way
46542
f8888f5c8c50 test-copies: improve description of the B+F case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46541
diff changeset
  1593
  mBFm-0 simple merge - B side: unrelated change, F side: overwrite d with a copy (from h->i->d) - one way
46560
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  1594
  mBRm-0 simple merge - B side: unrelated change, R side: overwrite d with a copy (from r->x->t) different content - one way
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1595
  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
  1596
  mCB-change-m-0 merge explicitely revive deleted file - B side: unrelated change, C side: delete d (restored by merge) - one way
46540
311a18777f45 test-copies: improve description of the B+C "revert/restore" case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46539
diff changeset
  1597
  mCB-revert-m-0 merge explicitely revive deleted file - B side: unrelated change, C side: delete d (restored by merge) - one way
46534
979838adc46b test-copies: improve description of the B+C case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46533
diff changeset
  1598
  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
  1599
  mCBm-1 re-add d
46539
a1a06dca6941 test-copies: improve description of the G+C case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46538
diff changeset
  1600
  mCGm-0 merge updated/deleted - revive the file (updated content) - one way
46541
60c52bdb1784 test-copies: improve description of the C+H case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46540
diff changeset
  1601
  mCH-delete-before-conflict-m-0 simple merge - C side: d is the results of renames then deleted, H side: d is result of another rename (same content as the other branch) - one way
46535
9a58f9eed303 test-copies: improve description of the B+D case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46534
diff changeset
  1602
  mDBm-0 simple merge - B side: unrelated update, D side: delete and recreate a file (with different content) - the other way
46537
1e96fdcc8bc1 test-copies: improve description of the D+G case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46536
diff changeset
  1603
  mDGm-0 actual content merge, copies on one side - D side: delete and re-add (different content), G side: update content - one way
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1604
  mEA,Jm: chained merges (conflict -> simple) - same content everywhere
46554
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1605
  mEA-change,Jm: chained merges (conflict+change -> simple) - same content on both branch in the initial merge
46553
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  1606
  mEA-change-m-0 merge with file update and copies info on both side - A side: rename d to f, E side: b to f, (same content for f in parent) - the other way
46536
19f490690880 test-copies: improve description of the A+E case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46535
diff changeset
  1607
  mEAm-0 merge with copies info on both side - A side: rename d to f, E side: b to f, (same content for f) - the other way
46782
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  1608
  mFB-change-m-0 merge with extra change - B side: unrelated change, F side: overwrite d with a copy (from h->i->d) - the other way
46542
f8888f5c8c50 test-copies: improve description of the B+F case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46541
diff changeset
  1609
  mFBm-0 simple merge - B side: unrelated change, F side: overwrite d with a copy (from h->i->d) - the other way
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1610
  mFG,Om: chained merges (copy-overwrite -> simple) - same content
46538
2f99dedf96b1 test-copies: improve description of the G+F case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46537
diff changeset
  1611
  mFGm-0 merge - G side: content change, F side: copy overwrite, no content change - one way
46539
a1a06dca6941 test-copies: improve description of the G+C case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46538
diff changeset
  1612
  mGCm-0 merge updated/deleted - revive the file (updated content) - the other way
46537
1e96fdcc8bc1 test-copies: improve description of the D+G case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46536
diff changeset
  1613
  mGDm-0 actual content merge, copies on one side - D side: delete and re-add (different content), G side: update content - the other way
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1614
  mGF,Nm: chained merges (copy-overwrite -> simple) - same content
46538
2f99dedf96b1 test-copies: improve description of the G+F case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46537
diff changeset
  1615
  mGFm-0 merge - G side: content change, F side: copy overwrite, no content change - the other way
46541
60c52bdb1784 test-copies: improve description of the C+H case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46540
diff changeset
  1616
  mHC-delete-before-conflict-m-0 simple merge - C side: d is the results of renames then deleted, H side: d is result of another rename (same content as the other branch) - the other way
46554
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1617
  mJ,EA-change-m: chained merges (conflict+change -> simple) - same content on both branch in the initial merge
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1618
  mJ,EAm: chained merges (conflict -> simple) - same content everywhere
46554
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  1619
  mK,AE-change-m: chained merges (conflict+change -> simple) - same content on both branch in the initial merge
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1620
  mK,AEm: chained merges (conflict -> simple) - same content everywhere
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1621
  mL,BC+revertm: chained merges (salvaged -> simple) - same content (when the file exists)
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  1622
  mL,CB+revertm: chained merges (salvaged -> simple) - same content (when the file exists)
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1623
  mN,GFm: chained merges (copy-overwrite -> simple) - same content
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1624
  mO,FGm: chained merges (copy-overwrite -> simple) - same content
46561
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1625
  mPQ,Tm: chained merges (conflict -> simple) - different content
46559
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  1626
  mPQm-0 merge with copies info on both side - P side: rename t to v, Q side: r to v, (different content) - one way
46561
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1627
  mQP,Sm: chained merges (conflict -> simple) - different content
46559
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  1628
  mQPm-0 merge with copies info on both side - P side: rename t to v, Q side: r to v, (different content) - the other way
46560
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  1629
  mRBm-0 simple merge - B side: unrelated change, R side: overwrite d with a copy (from r->x->t) different content - the other way
46561
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1630
  mS,QPm: chained merges (conflict -> simple) - different content
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1631
  mT,PQm: chained merges (conflict -> simple) - different content
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1632
  n-1: unrelated changes (based on the "f" series of changes)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  1633
  o-1: unrelated changes (based on "g" changes)
46557
067307d6589d test-copies: add a `p` branch similar to the `a` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46556
diff changeset
  1634
  p-1: t -move-> u
067307d6589d test-copies: add a `p` branch similar to the `a` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46556
diff changeset
  1635
  p-2: u -move-> v
46558
eb60dadd1be1 test-copies: add a `q` branch similar to the `e` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46557
diff changeset
  1636
  q-1 r -move-> w
eb60dadd1be1 test-copies: add a `q` branch similar to the `e` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46557
diff changeset
  1637
  q-2 w -move-> v
46560
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  1638
  r-1: rename r -> x
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  1639
  r-2: rename t -> x
46561
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1640
  s-1: unrelated changes (based on the "p" series of changes)
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  1641
  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
  1642
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
  1643
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
  1644
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
  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
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1647
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
  1648
 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
  1649
 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
  1650
ee3fd9021fac 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
45735
edf4fa06df94 upgrade: allow sidedata upgrade to modify revision flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45733
diff changeset
  1652
#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
  1653
  $ 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
  1654
  > [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
  1655
  > exp-use-side-data = yes
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1656
  > 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
  1657
  > 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
  1658
  $ 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
  1659
  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
  1660
  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
  1661
  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
  1662
  generaldelta:       yes    yes     yes
46334
4b0192f592cf share: move share safe functionality out of experimental
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46186
diff changeset
  1663
  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
  1664
  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
  1665
  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
  1666
  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
  1667
  copies-sdc:          no    yes      no
46705
fd55a9eb1507 revlogv2: allow upgrading to v2
Raphaël Gomès <rgomes@octobus.net>
parents: 46618
diff changeset
  1668
  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
  1669
  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
  1670
  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
  1671
  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
  1672
  $ 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
  1673
  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
  1674
  
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1675
  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
  1676
     preserved: * (glob)
46705
fd55a9eb1507 revlogv2: allow upgrading to v2
Raphaël Gomès <rgomes@octobus.net>
parents: 46618
diff changeset
  1677
     removed: revlogv1
fd55a9eb1507 revlogv2: allow upgrading to v2
Raphaël Gomès <rgomes@octobus.net>
parents: 46618
diff changeset
  1678
     added: exp-copies-sidedata-changeset, exp-revlogv2.2, exp-sidedata-flag
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1679
  
46035
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
  1680
  processed revlogs:
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
  1681
    - all-filelogs
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
  1682
    - changelog
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
  1683
    - manifest
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
  1684
  
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
  1685
#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
  1686
46618
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  1687
#if upgraded-parallel
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  1688
  $ cat >> $HGRCPATH << EOF
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  1689
  > [format]
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  1690
  > exp-use-side-data = yes
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  1691
  > exp-use-copies-side-data-changeset = yes
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  1692
  > [experimental]
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  1693
  > worker.repository-upgrade=yes
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  1694
  > [worker]
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  1695
  > enabled=yes
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  1696
  > numcpus=8
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  1697
  > EOF
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  1698
  $ hg debugformat -v
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  1699
  format-variant     repo config default
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  1700
  fncache:            yes    yes     yes
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  1701
  dotencode:          yes    yes     yes
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  1702
  generaldelta:       yes    yes     yes
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  1703
  share-safe:          no     no      no
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  1704
  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
  1705
  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
  1706
  persistent-nodemap: yes    yes      no (rust !)
46618
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  1707
  copies-sdc:          no    yes      no
46705
fd55a9eb1507 revlogv2: allow upgrading to v2
Raphaël Gomès <rgomes@octobus.net>
parents: 46618
diff changeset
  1708
  revlog-v2:           no    yes      no
46618
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  1709
  plain-cl-delta:     yes    yes     yes
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  1710
  compression:        * (glob)
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  1711
  compression-level:  default default default
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  1712
  $ hg debugupgraderepo --run --quiet
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  1713
  upgrade will perform the following actions:
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  1714
  
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  1715
  requirements
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  1716
     preserved: * (glob)
46705
fd55a9eb1507 revlogv2: allow upgrading to v2
Raphaël Gomès <rgomes@octobus.net>
parents: 46618
diff changeset
  1717
     removed: revlogv1
fd55a9eb1507 revlogv2: allow upgrading to v2
Raphaël Gomès <rgomes@octobus.net>
parents: 46618
diff changeset
  1718
     added: exp-copies-sidedata-changeset, exp-revlogv2.2, exp-sidedata-flag
46618
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  1719
  
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  1720
  processed revlogs:
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  1721
    - all-filelogs
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  1722
    - changelog
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  1723
    - manifest
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  1724
  
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  1725
#endif
dde86beca388 copies: tests and fix parallel computation of changed file information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46610
diff changeset
  1726
47088
573d817bcc1f test-copies: test that copies' sidedata does not get corrupted during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47087
diff changeset
  1727
#if pull
573d817bcc1f test-copies: test that copies' sidedata does not get corrupted during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47087
diff changeset
  1728
  $ cd ..
573d817bcc1f test-copies: test that copies' sidedata does not get corrupted during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47087
diff changeset
  1729
  $ 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: 47087
diff changeset
  1730
  $ 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: 47087
diff changeset
  1731
  $ 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: 47087
diff changeset
  1732
  $ 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: 47087
diff changeset
  1733
  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: 47087
diff changeset
  1734
  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: 47087
diff changeset
  1735
  adding changesets
573d817bcc1f test-copies: test that copies' sidedata does not get corrupted during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47087
diff changeset
  1736
  adding manifests
573d817bcc1f test-copies: test that copies' sidedata does not get corrupted during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47087
diff changeset
  1737
  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: 47087
diff changeset
  1738
  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: 47087
diff changeset
  1739
  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: 47087
diff changeset
  1740
  (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: 47087
diff changeset
  1741
#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
  1742
47090
f506adbe5ac1 test-copies: test that copies' sidedata can get computed during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47089
diff changeset
  1743
#if pull-upgrade
f506adbe5ac1 test-copies: test that copies' sidedata can get computed during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47089
diff changeset
  1744
  $ cat >> $HGRCPATH << EOF
f506adbe5ac1 test-copies: test that copies' sidedata can get computed during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47089
diff changeset
  1745
  > [format]
f506adbe5ac1 test-copies: test that copies' sidedata can get computed during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47089
diff changeset
  1746
  > exp-use-side-data = yes
f506adbe5ac1 test-copies: test that copies' sidedata can get computed during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47089
diff changeset
  1747
  > 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: 47089
diff changeset
  1748
  > [experimental]
f506adbe5ac1 test-copies: test that copies' sidedata can get computed during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47089
diff changeset
  1749
  > changegroup4 = yes
f506adbe5ac1 test-copies: test that copies' sidedata can get computed during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47089
diff changeset
  1750
  > EOF
f506adbe5ac1 test-copies: test that copies' sidedata can get computed during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47089
diff changeset
  1751
  $ cd ..
f506adbe5ac1 test-copies: test that copies' sidedata can get computed during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47089
diff changeset
  1752
  $ 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: 47089
diff changeset
  1753
  $ 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: 47089
diff changeset
  1754
  $ cd repo-chain
f506adbe5ac1 test-copies: test that copies' sidedata can get computed during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47089
diff changeset
  1755
  $ 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: 47089
diff changeset
  1756
  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: 47089
diff changeset
  1757
  requesting all changes
f506adbe5ac1 test-copies: test that copies' sidedata can get computed during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47089
diff changeset
  1758
  adding changesets
f506adbe5ac1 test-copies: test that copies' sidedata can get computed during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47089
diff changeset
  1759
  adding manifests
f506adbe5ac1 test-copies: test that copies' sidedata can get computed during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47089
diff changeset
  1760
  adding file changes
f506adbe5ac1 test-copies: test that copies' sidedata can get computed during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47089
diff changeset
  1761
  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: 47089
diff changeset
  1762
  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: 47089
diff changeset
  1763
  (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: 47089
diff changeset
  1764
#endif
f506adbe5ac1 test-copies: test that copies' sidedata can get computed during pull
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47089
diff changeset
  1765
47089
fa5bc416b413 test-copies: test that copies' sidedata does not get corrupted during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47088
diff changeset
  1766
#if push
fa5bc416b413 test-copies: test that copies' sidedata does not get corrupted during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47088
diff changeset
  1767
  $ cd ..
fa5bc416b413 test-copies: test that copies' sidedata does not get corrupted during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47088
diff changeset
  1768
  $ 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: 47088
diff changeset
  1769
  $ 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: 47088
diff changeset
  1770
  $ 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: 47088
diff changeset
  1771
  $ 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: 47088
diff changeset
  1772
  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: 47088
diff changeset
  1773
  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: 47088
diff changeset
  1774
  adding changesets
fa5bc416b413 test-copies: test that copies' sidedata does not get corrupted during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47088
diff changeset
  1775
  adding manifests
fa5bc416b413 test-copies: test that copies' sidedata does not get corrupted during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47088
diff changeset
  1776
  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: 47088
diff changeset
  1777
  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: 47088
diff changeset
  1778
  $ 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: 47088
diff changeset
  1779
#endif
fa5bc416b413 test-copies: test that copies' sidedata does not get corrupted during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47088
diff changeset
  1780
47091
bc7bdca15e47 test-copies: test that copies' sidedata can get computed during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47090
diff changeset
  1781
#if push-upgrade
bc7bdca15e47 test-copies: test that copies' sidedata can get computed during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47090
diff changeset
  1782
  $ cat >> $HGRCPATH << EOF
bc7bdca15e47 test-copies: test that copies' sidedata can get computed during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47090
diff changeset
  1783
  > [format]
bc7bdca15e47 test-copies: test that copies' sidedata can get computed during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47090
diff changeset
  1784
  > exp-use-side-data = yes
bc7bdca15e47 test-copies: test that copies' sidedata can get computed during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47090
diff changeset
  1785
  > 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: 47090
diff changeset
  1786
  > [experimental]
bc7bdca15e47 test-copies: test that copies' sidedata can get computed during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47090
diff changeset
  1787
  > changegroup4 = yes
bc7bdca15e47 test-copies: test that copies' sidedata can get computed during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47090
diff changeset
  1788
  > EOF
bc7bdca15e47 test-copies: test that copies' sidedata can get computed during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47090
diff changeset
  1789
  $ cd ..
bc7bdca15e47 test-copies: test that copies' sidedata can get computed during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47090
diff changeset
  1790
  $ 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: 47090
diff changeset
  1791
  $ 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: 47090
diff changeset
  1792
  $ cd repo-source
bc7bdca15e47 test-copies: test that copies' sidedata can get computed during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47090
diff changeset
  1793
  $ 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: 47090
diff changeset
  1794
  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: 47090
diff changeset
  1795
  searching for changes
bc7bdca15e47 test-copies: test that copies' sidedata can get computed during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47090
diff changeset
  1796
  adding changesets
bc7bdca15e47 test-copies: test that copies' sidedata can get computed during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47090
diff changeset
  1797
  adding manifests
bc7bdca15e47 test-copies: test that copies' sidedata can get computed during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47090
diff changeset
  1798
  adding file changes
bc7bdca15e47 test-copies: test that copies' sidedata can get computed during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47090
diff changeset
  1799
  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: 47090
diff changeset
  1800
  $ cd ../repo-chain
bc7bdca15e47 test-copies: test that copies' sidedata can get computed during push
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47090
diff changeset
  1801
#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
  1802
45735
edf4fa06df94 upgrade: allow sidedata upgrade to modify revision flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45733
diff changeset
  1803
#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
  1804
46479
c2435280ca63 copy-tracing: add a --compute flag to debugchangedfiles
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46334
diff changeset
  1805
  $ 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
  1806
  added      : a, ;
c2435280ca63 copy-tracing: add a --compute flag to debugchangedfiles
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46334
diff changeset
  1807
  added      : b, ;
c2435280ca63 copy-tracing: add a --compute flag to debugchangedfiles
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46334
diff changeset
  1808
  added      : h, ;
46555
46205a478a08 test-copies: add 3 new files with their own content
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46554
diff changeset
  1809
  added      : p, ;
46205a478a08 test-copies: add 3 new files with their own content
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46554
diff changeset
  1810
  added      : q, ;
46205a478a08 test-copies: add 3 new files with their own content
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46554
diff changeset
  1811
  added      : r, ;
46479
c2435280ca63 copy-tracing: add a --compute flag to debugchangedfiles
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46334
diff changeset
  1812
45733
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1813
  $ for rev in `hg log --rev 'all()' -T '{rev}\n'`; do
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1814
  >     case_id=`hg log -r $rev -T '{word(0, desc, ":")}\n'`
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1815
  >     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
  1816
  >     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
  1817
  >     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
  1818
  > done
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1819
  ##### 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
  1820
  1 sidedata entries
46555
46205a478a08 test-copies: add 3 new files with their own content
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46554
diff changeset
  1821
   entry-0014 size 64
46205a478a08 test-copies: add 3 new files with their own content
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46554
diff changeset
  1822
    '\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
  1823
  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
  1824
  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
  1825
  added      : h, ;
46555
46205a478a08 test-copies: add 3 new files with their own content
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46554
diff changeset
  1826
  added      : p, ;
46205a478a08 test-copies: add 3 new files with their own content
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46554
diff changeset
  1827
  added      : q, ;
46205a478a08 test-copies: add 3 new files with their own content
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46554
diff changeset
  1828
  added      : r, ;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1829
  ##### 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
  1830
  1 sidedata entries
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  1831
   entry-0014 size 44
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  1832
    '\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
  1833
  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
  1834
  added    p1: c, a;
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  1835
  removed    : p, ;
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  1836
  added    p1: s, p;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1837
  ##### 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
  1838
  1 sidedata entries
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  1839
   entry-0014 size 44
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  1840
    '\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
  1841
  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
  1842
  added    p1: d, c;
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  1843
  removed    : s, ;
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  1844
  added    p1: t, s;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1845
  ##### 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
  1846
  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
  1847
   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
  1848
    '\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
  1849
  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
  1850
  added    p1: e, d;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1851
  ##### 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
  1852
  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
  1853
   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
  1854
    '\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
  1855
  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
  1856
  added    p1: f, e;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1857
  ##### 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
  1858
  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
  1859
   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
  1860
    '\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
  1861
  touched    : b, ;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1862
  ##### 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
  1863
  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
  1864
   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
  1865
    '\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
  1866
  removed    : d, ;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1867
  ##### 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
  1868
  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
  1869
   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
  1870
    '\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
  1871
  removed    : d, ;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1872
  ##### 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
  1873
  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
  1874
   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
  1875
    '\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
  1876
  added      : d, ;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1877
  ##### 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
  1878
  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
  1879
   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
  1880
    '\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
  1881
  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
  1882
  added    p1: g, b;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1883
  ##### 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
  1884
  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
  1885
   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
  1886
    '\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
  1887
  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
  1888
  removed    : g, ;
46557
067307d6589d test-copies: add a `p` branch similar to the `a` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46556
diff changeset
  1889
  ##### revision "p-1" #####
067307d6589d test-copies: add a `p` branch similar to the `a` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46556
diff changeset
  1890
  1 sidedata entries
067307d6589d test-copies: add a `p` branch similar to the `a` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46556
diff changeset
  1891
   entry-0014 size 24
067307d6589d test-copies: add a `p` branch similar to the `a` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46556
diff changeset
  1892
    '\x00\x00\x00\x02\x0c\x00\x00\x00\x01\x00\x00\x00\x00\x06\x00\x00\x00\x02\x00\x00\x00\x00tu'
067307d6589d test-copies: add a `p` branch similar to the `a` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46556
diff changeset
  1893
  removed    : t, ;
067307d6589d test-copies: add a `p` branch similar to the `a` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46556
diff changeset
  1894
  added    p1: u, t;
067307d6589d test-copies: add a `p` branch similar to the `a` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46556
diff changeset
  1895
  ##### revision "p-2" #####
067307d6589d test-copies: add a `p` branch similar to the `a` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46556
diff changeset
  1896
  1 sidedata entries
067307d6589d test-copies: add a `p` branch similar to the `a` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46556
diff changeset
  1897
   entry-0014 size 24
067307d6589d test-copies: add a `p` branch similar to the `a` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46556
diff changeset
  1898
    '\x00\x00\x00\x02\x0c\x00\x00\x00\x01\x00\x00\x00\x00\x06\x00\x00\x00\x02\x00\x00\x00\x00uv'
067307d6589d test-copies: add a `p` branch similar to the `a` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46556
diff changeset
  1899
  removed    : u, ;
067307d6589d test-copies: add a `p` branch similar to the `a` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46556
diff changeset
  1900
  added    p1: v, u;
46558
eb60dadd1be1 test-copies: add a `q` branch similar to the `e` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46557
diff changeset
  1901
  ##### revision "q-1 r -move-> w" #####
eb60dadd1be1 test-copies: add a `q` branch similar to the `e` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46557
diff changeset
  1902
  1 sidedata entries
eb60dadd1be1 test-copies: add a `q` branch similar to the `e` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46557
diff changeset
  1903
   entry-0014 size 24
eb60dadd1be1 test-copies: add a `q` branch similar to the `e` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46557
diff changeset
  1904
    '\x00\x00\x00\x02\x0c\x00\x00\x00\x01\x00\x00\x00\x00\x06\x00\x00\x00\x02\x00\x00\x00\x00rw'
eb60dadd1be1 test-copies: add a `q` branch similar to the `e` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46557
diff changeset
  1905
  removed    : r, ;
eb60dadd1be1 test-copies: add a `q` branch similar to the `e` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46557
diff changeset
  1906
  added    p1: w, r;
eb60dadd1be1 test-copies: add a `q` branch similar to the `e` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46557
diff changeset
  1907
  ##### revision "q-2 w -move-> v" #####
eb60dadd1be1 test-copies: add a `q` branch similar to the `e` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46557
diff changeset
  1908
  1 sidedata entries
eb60dadd1be1 test-copies: add a `q` branch similar to the `e` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46557
diff changeset
  1909
   entry-0014 size 24
eb60dadd1be1 test-copies: add a `q` branch similar to the `e` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46557
diff changeset
  1910
    '\x00\x00\x00\x02\x06\x00\x00\x00\x01\x00\x00\x00\x01\x0c\x00\x00\x00\x02\x00\x00\x00\x00vw'
eb60dadd1be1 test-copies: add a `q` branch similar to the `e` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46557
diff changeset
  1911
  added    p1: v, w;
eb60dadd1be1 test-copies: add a `q` branch similar to the `e` but on the new files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46557
diff changeset
  1912
  removed    : w, ;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1913
  ##### 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
  1914
  1 sidedata entries
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1915
   entry-0014 size 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
  1916
    '\x00\x00\x00\x00'
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1917
  ##### 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
  1918
  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
  1919
   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
  1920
    '\x00\x00\x00\x00'
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1921
  ##### 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
  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'
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1925
  ##### 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
  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, ;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1930
  ##### 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
  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'
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1934
  ##### 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
  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 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
  1937
    '\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
  1938
  added      : d, ;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1939
  ##### 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
  1940
  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
  1941
   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
  1942
    '\x00\x00\x00\x00'
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1943
  ##### 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
  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 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
  1946
    '\x00\x00\x00\x00'
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1947
  ##### 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
  1948
  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
  1949
   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
  1950
    '\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
  1951
  merged     : f, ;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1952
  ##### 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
  1953
  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
  1954
   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
  1955
    '\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
  1956
  merged     : f, ;
46559
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  1957
  ##### revision "mPQm-0 merge with copies info on both side - P side" #####
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  1958
  1 sidedata entries
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  1959
   entry-0014 size 14
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  1960
    '\x00\x00\x00\x01\x08\x00\x00\x00\x01\x00\x00\x00\x00v'
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  1961
  merged     : v, ;
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  1962
  ##### revision "mQPm-0 merge with copies info on both side - P side" #####
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  1963
  1 sidedata entries
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  1964
   entry-0014 size 14
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  1965
    '\x00\x00\x00\x01\x08\x00\x00\x00\x01\x00\x00\x00\x00v'
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  1966
  merged     : v, ;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1967
  ##### 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
  1968
  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
  1969
   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
  1970
    '\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
  1971
  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
  1972
  added    p1: i, h;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1973
  ##### 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
  1974
  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
  1975
   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
  1976
    '\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
  1977
  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
  1978
  removed    : i, ;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1979
  ##### 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
  1980
  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
  1981
   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
  1982
    '\x00\x00\x00\x00'
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  1983
  ##### 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
  1984
  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
  1985
   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
  1986
    '\x00\x00\x00\x00'
46560
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  1987
  ##### revision "r-1" #####
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  1988
  1 sidedata entries
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  1989
   entry-0014 size 24
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  1990
    '\x00\x00\x00\x02\x0c\x00\x00\x00\x01\x00\x00\x00\x00\x06\x00\x00\x00\x02\x00\x00\x00\x00rx'
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  1991
  removed    : r, ;
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  1992
  added    p1: x, r;
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  1993
  ##### revision "r-2" #####
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  1994
  1 sidedata entries
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  1995
   entry-0014 size 24
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  1996
    '\x00\x00\x00\x02\x16\x00\x00\x00\x01\x00\x00\x00\x01\x0c\x00\x00\x00\x02\x00\x00\x00\x00tx'
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  1997
  touched  p1: t, x;
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  1998
  removed    : x, ;
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  1999
  ##### revision "mBRm-0 simple merge - B side" #####
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2000
  1 sidedata entries
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2001
   entry-0014 size 4
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2002
    '\x00\x00\x00\x00'
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2003
  ##### revision "mRBm-0 simple merge - B side" #####
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2004
  1 sidedata entries
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2005
   entry-0014 size 4
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2006
    '\x00\x00\x00\x00'
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  2007
  ##### 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
  2008
  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
  2009
   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
  2010
    '\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
  2011
  touched    : d, ;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  2012
  ##### 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
  2013
  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
  2014
   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
  2015
    '\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
  2016
  merged     : d, ;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  2017
  ##### 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
  2018
  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
  2019
   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
  2020
    '\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
  2021
  merged     : d, ;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  2022
  ##### 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
  2023
  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
  2024
   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
  2025
    '\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
  2026
  merged     : d, ;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  2027
  ##### 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
  2028
  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
  2029
   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
  2030
    '\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
  2031
  merged     : d, ;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  2032
  ##### 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
  2033
  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
  2034
   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
  2035
    '\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
  2036
  salvaged   : d, ;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  2037
  ##### 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
  2038
  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
  2039
   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
  2040
    '\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
  2041
  salvaged   : d, ;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  2042
  ##### 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
  2043
  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
  2044
   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
  2045
    '\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
  2046
  salvaged   : d, ;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  2047
  ##### 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
  2048
  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
  2049
   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
  2050
    '\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
  2051
  salvaged   : d, ;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  2052
  ##### revision "h-1" #####
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  2053
  1 sidedata entries
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  2054
   entry-0014 size 24
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  2055
    '\x00\x00\x00\x02\x0c\x00\x00\x00\x01\x00\x00\x00\x00\x06\x00\x00\x00\x02\x00\x00\x00\x00bd'
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  2056
  removed    : b, ;
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  2057
  added    p1: d, b;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  2058
  ##### revision "mCH-delete-before-conflict-m-0 simple merge - C side" #####
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  2059
  1 sidedata entries
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  2060
   entry-0014 size 4
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  2061
    '\x00\x00\x00\x00'
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  2062
  ##### revision "mHC-delete-before-conflict-m-0 simple merge - C side" #####
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  2063
  1 sidedata entries
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  2064
   entry-0014 size 4
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  2065
    '\x00\x00\x00\x00'
46553
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2066
  ##### revision "mAE-change-m-0 merge with file update and copies info on both side - A side" #####
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2067
  1 sidedata entries
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2068
   entry-0014 size 14
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2069
    '\x00\x00\x00\x01\x08\x00\x00\x00\x01\x00\x00\x00\x00f'
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2070
  merged     : f, ;
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2071
  ##### revision "mEA-change-m-0 merge with file update and copies info on both side - A side" #####
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2072
  1 sidedata entries
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2073
   entry-0014 size 14
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2074
    '\x00\x00\x00\x01\x08\x00\x00\x00\x01\x00\x00\x00\x00f'
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2075
  merged     : f, ;
46782
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  2076
  ##### revision "mBF-change-m-0 merge with extra change - B side" #####
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  2077
  1 sidedata entries
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  2078
   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
  2079
    '\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
  2080
  touched    : d, ;
46782
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  2081
  ##### revision "mFB-change-m-0 merge with extra change - B side" #####
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  2082
  1 sidedata entries
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  2083
   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
  2084
    '\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
  2085
  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
  2086
  ##### 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
  2087
  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
  2088
   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
  2089
    '\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
  2090
  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
  2091
  ##### 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
  2092
  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
  2093
   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
  2094
    '\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
  2095
  salvaged   : d, ;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  2096
  ##### revision "j-1" #####
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2097
  1 sidedata entries
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2098
   entry-0014 size 24
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2099
    '\x00\x00\x00\x01\x04\x00\x00\x00\x0b\x00\x00\x00\x00unrelated-j'
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2100
  added      : unrelated-j, ;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  2101
  ##### revision "k-1" #####
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2102
  1 sidedata entries
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2103
   entry-0014 size 24
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2104
    '\x00\x00\x00\x01\x04\x00\x00\x00\x0b\x00\x00\x00\x00unrelated-k'
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2105
  added      : unrelated-k, ;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  2106
  ##### revision "mAE,Km" #####
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2107
  1 sidedata entries
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2108
   entry-0014 size 4
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2109
    '\x00\x00\x00\x00'
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  2110
  ##### revision "mK,AEm" #####
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2111
  1 sidedata entries
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2112
   entry-0014 size 4
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2113
    '\x00\x00\x00\x00'
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  2114
  ##### revision "mEA,Jm" #####
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2115
  1 sidedata entries
46812
e4696ba43ecd test-copies: show some wrong ChangedFiles upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46811
diff changeset
  2116
   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
  2117
    '\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
  2118
  touched    : unrelated-j, ;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  2119
  ##### revision "mJ,EAm" #####
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2120
  1 sidedata entries
46812
e4696ba43ecd test-copies: show some wrong ChangedFiles upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46811
diff changeset
  2121
   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
  2122
    '\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
  2123
  touched    : unrelated-j, ;
46561
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  2124
  ##### revision "s-1" #####
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  2125
  1 sidedata entries
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  2126
   entry-0014 size 24
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  2127
    '\x00\x00\x00\x01\x04\x00\x00\x00\x0b\x00\x00\x00\x00unrelated-s'
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  2128
  added      : unrelated-s, ;
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  2129
  ##### revision "t-1" #####
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  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: 46560
diff changeset
  2131
   entry-0014 size 24
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  2132
    '\x00\x00\x00\x01\x04\x00\x00\x00\x0b\x00\x00\x00\x00unrelated-t'
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  2133
  added      : unrelated-t, ;
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  2134
  ##### revision "mPQ,Tm" #####
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  2135
  1 sidedata entries
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  2136
   entry-0014 size 4
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  2137
    '\x00\x00\x00\x00'
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  2138
  ##### revision "mT,PQm" #####
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  2139
  1 sidedata entries
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  2140
   entry-0014 size 4
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  2141
    '\x00\x00\x00\x00'
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  2142
  ##### revision "mQP,Sm" #####
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  2143
  1 sidedata entries
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  2144
   entry-0014 size 4
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  2145
    '\x00\x00\x00\x00'
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  2146
  ##### revision "mS,QPm" #####
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  2147
  1 sidedata entries
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  2148
   entry-0014 size 4
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  2149
    '\x00\x00\x00\x00'
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  2150
  ##### revision "l-1" #####
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2151
  1 sidedata entries
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2152
   entry-0014 size 24
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2153
    '\x00\x00\x00\x01\x04\x00\x00\x00\x0b\x00\x00\x00\x00unrelated-l'
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2154
  added      : unrelated-l, ;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  2155
  ##### revision "mBC+revert,Lm" #####
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2156
  1 sidedata entries
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2157
   entry-0014 size 4
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2158
    '\x00\x00\x00\x00'
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  2159
  ##### revision "mCB+revert,Lm" #####
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2160
  1 sidedata entries
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2161
   entry-0014 size 4
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2162
    '\x00\x00\x00\x00'
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  2163
  ##### revision "mL,BC+revertm" #####
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2164
  1 sidedata entries
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2165
   entry-0014 size 4
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2166
    '\x00\x00\x00\x00'
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  2167
  ##### revision "mL,CB+revertm" #####
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2168
  1 sidedata entries
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2169
   entry-0014 size 4
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  2170
    '\x00\x00\x00\x00'
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  2171
  ##### revision "n-1" #####
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  2172
  1 sidedata entries
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  2173
   entry-0014 size 24
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  2174
    '\x00\x00\x00\x01\x04\x00\x00\x00\x0b\x00\x00\x00\x00unrelated-n'
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  2175
  added      : unrelated-n, ;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  2176
  ##### revision "o-1" #####
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  2177
  1 sidedata entries
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  2178
   entry-0014 size 24
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  2179
    '\x00\x00\x00\x01\x04\x00\x00\x00\x0b\x00\x00\x00\x00unrelated-o'
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  2180
  added      : unrelated-o, ;
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  2181
  ##### revision "mFG,Om" #####
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  2182
  1 sidedata entries
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  2183
   entry-0014 size 4
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  2184
    '\x00\x00\x00\x00'
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  2185
  ##### revision "mO,FGm" #####
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  2186
  1 sidedata entries
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  2187
   entry-0014 size 4
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  2188
    '\x00\x00\x00\x00'
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  2189
  ##### revision "mGF,Nm" #####
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  2190
  1 sidedata entries
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  2191
   entry-0014 size 4
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  2192
    '\x00\x00\x00\x00'
46551
cb15216a52f5 test-copies: use "case-id" instead of revision number when listing sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46547
diff changeset
  2193
  ##### revision "mN,GFm" #####
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  2194
  1 sidedata entries
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  2195
   entry-0014 size 4
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  2196
    '\x00\x00\x00\x00'
46554
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  2197
  ##### revision "mAE-change,Km" #####
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  2198
  1 sidedata entries
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  2199
   entry-0014 size 4
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  2200
    '\x00\x00\x00\x00'
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  2201
  ##### revision "mK,AE-change-m" #####
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  2202
  1 sidedata entries
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  2203
   entry-0014 size 4
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  2204
    '\x00\x00\x00\x00'
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  2205
  ##### revision "mEA-change,Jm" #####
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  2206
  1 sidedata entries
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  2207
   entry-0014 size 4
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  2208
    '\x00\x00\x00\x00'
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  2209
  ##### revision "mJ,EA-change-m" #####
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  2210
  1 sidedata entries
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  2211
   entry-0014 size 4
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  2212
    '\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
  2213
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  2214
#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
  2215
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  2216
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
  2217
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
  2218
==============================
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
  2219
46159
929054848d6c copies: properly match result during changeset centric copy tracing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46035
diff changeset
  2220
Check that matching only affect the destination and not intermediate path
929054848d6c copies: properly match result during changeset centric copy tracing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46035
diff changeset
  2221
-------------------------------------------------------------------------
929054848d6c copies: properly match result during changeset centric copy tracing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46035
diff changeset
  2222
929054848d6c copies: properly match result during changeset centric copy tracing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46035
diff changeset
  2223
The two status call should give the same value for f
929054848d6c copies: properly match result during changeset centric copy tracing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46035
diff changeset
  2224
929054848d6c copies: properly match result during changeset centric copy tracing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46035
diff changeset
  2225
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("a-2")'
929054848d6c copies: properly match result during changeset centric copy tracing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46035
diff changeset
  2226
  A f
929054848d6c copies: properly match result during changeset centric copy tracing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46035
diff changeset
  2227
    a
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2228
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2229
    p
46159
929054848d6c copies: properly match result during changeset centric copy tracing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46035
diff changeset
  2230
  R a
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2231
  R p
46159
929054848d6c copies: properly match result during changeset centric copy tracing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46035
diff changeset
  2232
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("a-2")' f
929054848d6c copies: properly match result during changeset centric copy tracing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46035
diff changeset
  2233
  A f
929054848d6c copies: properly match result during changeset centric copy tracing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46035
diff changeset
  2234
    a (no-changeset no-compatibility !)
929054848d6c copies: properly match result during changeset centric copy tracing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46035
diff changeset
  2235
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
  2236
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
  2237
---------------------------------------------------------------
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
  2238
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
  2239
- 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
  2240
- 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
  2241
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
  2242
  $ hg log -G --rev '::(desc("mABm")+desc("mBAm"))'
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2243
  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
  2244
  |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2245
  +---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
  2246
  | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2247
  | 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
  2248
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2249
  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
  2250
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2251
  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
  2252
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2253
  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
  2254
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2255
  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
  2256
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
  2257
  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
  2258
  
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
  2259
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2260
  $ hg status --copies --rev 'desc("b-1")' --rev 'desc("mABm")'
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2261
  A f
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2262
    d
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2263
  R d
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2264
  $ hg status --copies --rev 'desc("b-1")' --rev 'desc("mBAm")'
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2265
  A f
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2266
    d
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
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: 44677
diff changeset
  2268
  $ hg status --copies --rev 'desc("a-2")' --rev 'desc("mABm")'
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2269
  M b
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2270
  $ hg status --copies --rev 'desc("a-2")' --rev 'desc("mBAm")'
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2271
  M b
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2272
  $ hg status --copies --rev 'desc("i-2")' --rev 'desc("mABm")'
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2273
  M b
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2274
  A f
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2275
    d
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2276
  R d
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2277
  $ hg status --copies --rev 'desc("i-2")' --rev 'desc("mBAm")'
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2278
  M b
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2279
  A f
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2280
    d
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2281
  R d
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2282
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mABm")'
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2283
  M b
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2284
  A f
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2285
    a
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2286
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2287
    p
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2288
  R a
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2289
  R p
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2290
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mBAm")'
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2291
  M b
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2292
  A f
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2293
    a
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2294
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2295
    p
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2296
  R a
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2297
  R p
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2298
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2299
merging with the side having a delete
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2300
-------------------------------------
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2301
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2302
case summary:
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2303
- 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
  2304
- 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
  2305
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
  2306
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2307
  $ hg log -G --rev '::(desc("mCBm")+desc("mBCm"))'
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2308
  o  mCBm-1 re-add d
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2309
  |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2310
  o    mCBm-0 simple merge - C side: delete a file with copies history , B side: unrelated update - the other way
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2311
  |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2312
  | | o  mBCm-1 re-add d
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2313
  | | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2314
  +---o  mBCm-0 simple merge - C side: delete a file with copies history , B side: unrelated update - one way
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2315
  | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2316
  | o  c-1 delete d
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2317
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2318
  o |  b-1: b update
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2319
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2320
  o  i-2: c -move-> d, s -move-> t
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2321
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2322
  o  i-1: a -move-> c, p -move-> s
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2323
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
  2324
  o  i-0 initial commit: a b h p q r
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2325
  
f9dfb56ed6e8 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
- 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
  2327
f9dfb56ed6e8 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
  $ 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
  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("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
  2331
  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
  2332
  $ 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
  2333
  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
  2334
  $ 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
  2335
  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
  2336
  $ 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
  2337
  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
  2338
  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
  2339
  $ 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
  2340
  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
  2341
  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
  2342
  $ 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
  2343
  M b
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2344
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2345
    p
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2346
  R a
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2347
  R p
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2348
  $ 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
  2349
  M b
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2350
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2351
    p
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2352
  R a
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2353
  R p
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2354
f9dfb56ed6e8 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
- 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
  2356
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2357
  $ hg status --copies --rev 'desc("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
  2358
  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
  2359
  $ 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
  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("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
  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
  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
  2364
  $ 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
  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
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2367
  $ 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
  2368
  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
  2369
  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
  2370
  $ 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
  2371
  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
  2372
  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
  2373
  $ 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
  2374
  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
  2375
  A d
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2376
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2377
    p
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2378
  R a
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2379
  R p
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2380
  $ 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
  2381
  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
  2382
  A d
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2383
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2384
    p
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2385
  R a
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2386
  R p
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2387
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2388
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
  2389
---------------------------------------------------
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2390
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2391
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
  2392
- 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
  2393
- 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
  2394
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2395
  $ hg log -G --rev '::(desc("mDBm")+desc("mBDm"))'
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2396
  o    mDBm-0 simple merge - B side: unrelated update, D side: delete and recreate a file (with different content) - the other way
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2397
  |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2398
  +---o  mBDm-0 simple merge - B side: unrelated update, D side: delete and recreate a file (with different content) - one way
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2399
  | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2400
  | o  d-2 re-add d
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2401
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2402
  | o  d-1 delete d
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2403
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2404
  o |  b-1: b update
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2405
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2406
  o  i-2: c -move-> d, s -move-> t
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2407
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2408
  o  i-1: a -move-> c, p -move-> s
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2409
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
  2410
  o  i-0 initial commit: a b h p q r
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2411
  
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2412
  $ 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
  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("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
  2415
  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
  2416
  $ 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
  2417
  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
  2418
  $ 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
  2419
  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
  2420
  $ 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
  2421
  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
  2422
  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
  2423
  $ 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
  2424
  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
  2425
  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
  2426
44454
b8882f5d7cb4 copies-tests: update the analysis of the BD/DB cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44453
diff changeset
  2427
The bugs makes recorded copy is different depending of where we started the merge from since
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2428
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2429
  $ hg manifest --debug --rev 'desc("mBDm-0")' | grep '644   d'
44687
1b8fd4af3318 mergestate: store about files resolved in favour of other
Pulkit Goyal <7895pulkit@gmail.com>
parents: 44678
diff changeset
  2430
  b004912a8510032a0350a74daa2803dadfb00e12 644   d
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2431
  $ 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
  2432
  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
  2433
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2434
  $ hg 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
  2435
  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
  2436
  $ hg manifest --debug --rev 'desc("b-1")' | grep '644   d'
46531
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46527
diff changeset
  2437
  d8252ab2e760b0d4e5288fd44cbd15a0fa567e16 644   d (no-changeset !)
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46527
diff changeset
  2438
  ae258f702dfeca05bf9b6a22a97a4b5645570f11 644   d (changeset !)
47064
7383df4f6e19 tests: run python script through quoted interpreter instead of directly
Matt Harbison <matt_harbison@yahoo.com>
parents: 46884
diff changeset
  2439
  $ hg debugindex d | head -n 4 | "$PYTHON" ../no-linkrev
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2440
     rev linkrev nodeid       p1           p2
46552
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
  2441
       0       * d8252ab2e760 000000000000 000000000000 (no-changeset !)
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
  2442
       0       * ae258f702dfe 000000000000 000000000000 (changeset !)
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
  2443
       1       * b004912a8510 000000000000 000000000000
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
  2444
       2       * 7b79e2fe0c89 000000000000 000000000000 (no-changeset !)
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
  2445
       2       * 5cce88bf349f ae258f702dfe 000000000000 (changeset !)
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2446
45653
a357688e3c9c tests: update/remove outdated comments in test-copies-chain-merge.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45461
diff changeset
  2447
Log output should not include a merge commit as it did not happen
44454
b8882f5d7cb4 copies-tests: update the analysis of the BD/DB cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44453
diff changeset
  2448
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2449
  $ hg log -Gfr 'desc("mBDm-0")' d
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2450
  o  d-2 re-add d
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2451
  |
44687
1b8fd4af3318 mergestate: store about files resolved in favour of other
Pulkit Goyal <7895pulkit@gmail.com>
parents: 44678
diff changeset
  2452
  ~
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2453
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2454
  $ hg log -Gfr 'desc("mDBm-0")' d
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2455
  o  d-2 re-add d
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2456
  |
f9dfb56ed6e8 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
  ~
f9dfb56ed6e8 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
f9dfb56ed6e8 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
  $ 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
  2460
  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
  2461
  A d
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2462
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2463
    p
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2464
  R a
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2465
  R p
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2466
  $ 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
  2467
  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
  2468
  A d
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2469
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2470
    p
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2471
  R a
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2472
  R p
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2473
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2474
44455
275365d85e3f copies-tests: clarify the description of the EA/AE cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44454
diff changeset
  2475
Comparing with a merge with colliding rename
275365d85e3f copies-tests: clarify the description of the EA/AE cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44454
diff changeset
  2476
--------------------------------------------
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2477
46543
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46542
diff changeset
  2478
Subcase: new copy information on both side
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46542
diff changeset
  2479
``````````````````````````````````````````
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46542
diff changeset
  2480
44455
275365d85e3f copies-tests: clarify the description of the EA/AE cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44454
diff changeset
  2481
- the "e-" branch renaming b to f (through 'g')
275365d85e3f copies-tests: clarify the description of the EA/AE cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44454
diff changeset
  2482
- the "a-" branch renaming d to f (through e)
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2483
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2484
  $ hg log -G --rev '::(desc("mAEm")+desc("mEAm"))'
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2485
  o    mEAm-0 merge with copies info on both side - A side: rename d to f, E side: b to f, (same content for f) - the other way
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2486
  |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2487
  +---o  mAEm-0 merge with copies info on both side - A side: rename d to f, E side: b to f, (same content for f) - one way
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2488
  | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2489
  | o  e-2 g -move-> f
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2490
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2491
  | o  e-1 b -move-> g
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2492
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2493
  o |  a-2: e -move-> f
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2494
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2495
  o |  a-1: d -move-> e
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2496
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2497
  o  i-2: c -move-> d, s -move-> t
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2498
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2499
  o  i-1: a -move-> c, p -move-> s
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2500
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
  2501
  o  i-0 initial commit: a b h p q r
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2502
  
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2503
#if no-changeset
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2504
  $ hg manifest --debug --rev 'desc("mAEm-0")' | grep '644   f'
46531
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46527
diff changeset
  2505
  2ff93c643948464ee1f871867910ae43a45b0bea 644   f
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2506
  $ hg manifest --debug --rev 'desc("mEAm-0")' | grep '644   f'
46531
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46527
diff changeset
  2507
  2ff93c643948464ee1f871867910ae43a45b0bea 644   f
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2508
  $ hg manifest --debug --rev 'desc("a-2")' | grep '644   f'
46531
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46527
diff changeset
  2509
  b76eb76580df486c3d51d63c5c210d4dd43a8ac7 644   f
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2510
  $ hg manifest --debug --rev 'desc("e-2")' | grep '644   f'
46531
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46527
diff changeset
  2511
  e8825b386367b29fec957283a80bb47b47483fe1 644   f
47064
7383df4f6e19 tests: run python script through quoted interpreter instead of directly
Matt Harbison <matt_harbison@yahoo.com>
parents: 46884
diff changeset
  2512
  $ hg debugindex f | "$PYTHON" ../no-linkrev
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2513
     rev linkrev nodeid       p1           p2
46552
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
  2514
       0       * b76eb76580df 000000000000 000000000000
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
  2515
       1       * e8825b386367 000000000000 000000000000
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
  2516
       2       * 2ff93c643948 b76eb76580df e8825b386367
46553
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2517
       3       * 2f649fba7eb2 b76eb76580df e8825b386367
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2518
       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
  2519
#else
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2520
  $ hg manifest --debug --rev 'desc("mAEm-0")' | grep '644   f'
46531
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46527
diff changeset
  2521
  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
  2522
  $ hg manifest --debug --rev 'desc("mEAm-0")' | grep '644   f'
46531
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46527
diff changeset
  2523
  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
  2524
  $ hg manifest --debug --rev 'desc("a-2")' | grep '644   f'
46531
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46527
diff changeset
  2525
  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
  2526
  $ hg manifest --debug --rev 'desc("e-2")' | grep '644   f'
46531
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46527
diff changeset
  2527
  ae258f702dfeca05bf9b6a22a97a4b5645570f11 644   f
47064
7383df4f6e19 tests: run python script through quoted interpreter instead of directly
Matt Harbison <matt_harbison@yahoo.com>
parents: 46884
diff changeset
  2528
  $ 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
  2529
     rev linkrev nodeid       p1           p2
46552
9cd4f58467af test-copies: filter out the linkrev part of `debugindex`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46551
diff changeset
  2530
       0       * ae258f702dfe 000000000000 000000000000
46553
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2531
       1       * d3613c1ec831 ae258f702dfe 000000000000
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  2532
       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
  2533
#endif
44758
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  2534
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  2535
# Here the filelog based implementation is not looking at the rename
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  2536
# information (because the file exist on both side). However the changelog
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  2537
# based on works fine. We have different output.
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  2538
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2539
  $ hg status --copies --rev 'desc("a-2")' --rev 'desc("mAEm-0")'
46527
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
  2540
  M f (no-changeset !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
  2541
    b (no-filelog no-changeset !)
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2542
  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
  2543
  $ hg status --copies --rev 'desc("a-2")' --rev 'desc("mEAm-0")'
46527
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
  2544
  M f (no-changeset !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
  2545
    b (no-filelog no-changeset !)
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2546
  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
  2547
  $ hg status --copies --rev 'desc("e-2")' --rev 'desc("mAEm-0")'
46527
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
  2548
  M f (no-changeset !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
  2549
    d (no-filelog no-changeset !)
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2550
  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
  2551
  $ hg status --copies --rev 'desc("e-2")' --rev 'desc("mEAm-0")'
46527
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
  2552
  M f (no-changeset !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
  2553
    d (no-filelog no-changeset !)
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2554
  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
  2555
  $ 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
  2556
  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
  2557
    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
  2558
  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
  2559
  $ 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
  2560
  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
  2561
    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
  2562
  R b
44758
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  2563
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  2564
# From here, we run status against revision where both source file exists.
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  2565
#
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  2566
# The filelog based implementation picks an arbitrary side based on revision
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  2567
# numbers. So the same side "wins" whatever the parents order is. This is
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  2568
# sub-optimal because depending on revision numbers means the result can be
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  2569
# different from one repository to the next.
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  2570
#
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  2571
# The changeset based algorithm use the parent order to break tie on conflicting
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  2572
# information and will have a different order depending on who is p1 and p2.
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  2573
# That order is stable accross repositories. (data from p1 prevails)
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  2574
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2575
  $ 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
  2576
  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
  2577
    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
  2578
  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
  2579
  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
  2580
  $ 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
  2581
  A f
44758
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  2582
    d (filelog !)
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  2583
    b (no-filelog !)
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2584
  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
  2585
  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
  2586
  $ 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
  2587
  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
  2588
    a
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2589
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2590
    p
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  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
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2593
  R p
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2594
  $ 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
  2595
  A f
44758
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  2596
    a (filelog !)
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  2597
    b (no-filelog !)
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2598
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2599
    p
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  2600
  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
  2601
  R b
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2602
  R p
44458
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
  2603
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2604
46543
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46542
diff changeset
  2605
Subcase: existing copy information overwritten on one branch
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46542
diff changeset
  2606
````````````````````````````````````````````````````````````
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46542
diff changeset
  2607
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2608
Note:
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2609
| In this case, one of the merge wrongly record a merge while there is none.
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2610
| This lead to bad copy tracing information to be dug up.
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2611
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2612
44458
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
  2613
Merge:
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
  2614
- one with change to an unrelated file (b)
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
  2615
- one overwriting a file (d) with a rename (from h to i to d)
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
  2616
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2617
  $ hg log -G --rev '::(desc("mBFm")+desc("mFBm"))'
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2618
  o    mFBm-0 simple merge - B side: unrelated change, F side: overwrite d with a copy (from h->i->d) - the other way
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2619
  |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2620
  +---o  mBFm-0 simple merge - B side: unrelated change, F side: overwrite d with a copy (from h->i->d) - one way
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2621
  | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2622
  | o  f-2: rename i -> d
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2623
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2624
  | o  f-1: rename h -> i
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2625
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2626
  o |  b-1: b update
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2627
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2628
  o  i-2: c -move-> d, s -move-> t
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2629
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2630
  o  i-1: a -move-> c, p -move-> s
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2631
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
  2632
  o  i-0 initial commit: a b h p q r
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2633
  
44458
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
  2634
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mBFm-0")'
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
  2635
  M b
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
  2636
  A d
44687
1b8fd4af3318 mergestate: store about files resolved in favour of other
Pulkit Goyal <7895pulkit@gmail.com>
parents: 44678
diff changeset
  2637
    h
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2638
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2639
    p
44458
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
  2640
  R a
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
  2641
  R h
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2642
  R p
44458
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
  2643
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mFBm-0")'
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
  2644
  M b
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
  2645
  A d
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
  2646
    h
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2647
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2648
    p
44458
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
  2649
  R a
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
  2650
  R h
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2651
  R p
44458
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
  2652
  $ hg status --copies --rev 'desc("b-1")' --rev 'desc("mBFm-0")'
46527
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
  2653
  M d (no-changeset !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
  2654
    h (no-filelog no-changeset !)
44458
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
  2655
  R h
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
  2656
  $ hg status --copies --rev 'desc("f-2")' --rev 'desc("mBFm-0")'
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
  2657
  M b
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
  2658
  $ hg status --copies --rev 'desc("f-1")' --rev 'desc("mBFm-0")'
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
  2659
  M b
46527
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
  2660
  M d (no-changeset !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
  2661
    i (no-filelog no-changeset !)
44458
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
  2662
  R i
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
  2663
  $ hg status --copies --rev 'desc("b-1")' --rev 'desc("mFBm-0")'
46527
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
  2664
  M d (no-changeset !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
  2665
    h (no-filelog no-changeset !)
44458
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
  2666
  R h
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
  2667
  $ hg status --copies --rev 'desc("f-2")' --rev 'desc("mFBm-0")'
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
  2668
  M b
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
  2669
  $ hg status --copies --rev 'desc("f-1")' --rev 'desc("mFBm-0")'
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
  2670
  M b
46527
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
  2671
  M d (no-changeset !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
  2672
    i (no-filelog no-changeset !)
44458
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
  2673
  R i
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
  2674
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2675
#if no-changeset
44458
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
  2676
  $ hg log -Gfr 'desc("mBFm-0")' d
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2677
  o  f-2: rename i -> d
44458
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
  2678
  |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2679
  o  f-1: rename h -> i
44687
1b8fd4af3318 mergestate: store about files resolved in favour of other
Pulkit Goyal <7895pulkit@gmail.com>
parents: 44678
diff changeset
  2680
  :
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
  2681
  o  i-0 initial commit: a b h p q r
44458
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
  2682
  
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2683
#else
45778
6620caf427ec tests: add notes about broken `hg log --follow <file>` with copies in extras
Martin von Zweigbergk <martinvonz@google.com>
parents: 45765
diff changeset
  2684
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
  2685
  $ hg log -Gfr 'desc("mBFm-0")' d
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2686
  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
  2687
  |
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2688
  ~
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2689
#endif
44458
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
  2690
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2691
#if no-changeset
44458
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
  2692
  $ hg log -Gfr 'desc("mFBm-0")' d
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2693
  o  f-2: rename i -> d
44458
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
  2694
  |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2695
  o  f-1: rename h -> i
44458
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
  2696
  :
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
  2697
  o  i-0 initial commit: a b h p q r
44458
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
  2698
  
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2699
#else
45778
6620caf427ec tests: add notes about broken `hg log --follow <file>` with copies in extras
Martin von Zweigbergk <martinvonz@google.com>
parents: 45765
diff changeset
  2700
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
  2701
  $ hg log -Gfr 'desc("mFBm-0")' d
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2702
  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
  2703
  |
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2704
  ~
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2705
#endif
44459
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
  2706
46560
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2707
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2708
Subcase: existing copy information overwritten on one branch, with different content)
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2709
`````````````````````````````````````````````````````````````````````````````````````
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2710
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2711
Merge:
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2712
- one with change to an unrelated file (b)
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2713
- one overwriting a file (t) with a rename (from r to x to t), v content is not the same as on the other branch
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2714
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2715
  $ hg log -G --rev '::(desc("mBRm")+desc("mRBm"))'
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2716
  o    mRBm-0 simple merge - B side: unrelated change, R side: overwrite d with a copy (from r->x->t) different content - the other way
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2717
  |\
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2718
  +---o  mBRm-0 simple merge - B side: unrelated change, R side: overwrite d with a copy (from r->x->t) different content - one way
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2719
  | |/
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2720
  | o  r-2: rename t -> x
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2721
  | |
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2722
  | o  r-1: rename r -> x
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2723
  | |
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2724
  o |  b-1: b update
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2725
  |/
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2726
  o  i-2: c -move-> d, s -move-> t
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2727
  |
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2728
  o  i-1: a -move-> c, p -move-> s
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2729
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
  2730
  o  i-0 initial commit: a b h p q r
46560
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2731
  
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2732
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mBRm-0")'
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  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: 46559
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: 46559
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: 46559
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: 46559
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: 46559
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: 46559
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: 46559
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: 46559
diff changeset
  2741
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mRBm-0")'
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2742
  M b
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2743
  A d
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2744
    a
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2745
  A t
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2746
    r
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2747
  R a
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2748
  R p
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2749
  R r
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2750
  $ hg status --copies --rev 'desc("b-1")' --rev 'desc("mBRm-0")'
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2751
  M t
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2752
    r (no-filelog !)
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2753
  R r
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2754
  $ hg status --copies --rev 'desc("r-2")' --rev 'desc("mBRm-0")'
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2755
  M b
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2756
  $ hg status --copies --rev 'desc("r-1")' --rev 'desc("mBRm-0")'
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  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: 46559
diff changeset
  2758
  M t
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2759
    x (no-filelog !)
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2760
  R x
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2761
  $ hg status --copies --rev 'desc("b-1")' --rev 'desc("mRBm-0")'
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2762
  M t
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2763
    r (no-filelog !)
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2764
  R r
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2765
  $ hg status --copies --rev 'desc("r-2")' --rev 'desc("mRBm-0")'
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2766
  M b
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2767
  $ hg status --copies --rev 'desc("r-1")' --rev 'desc("mRBm-0")'
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2768
  M b
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2769
  M t
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2770
    x (no-filelog !)
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2771
  R x
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2772
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2773
#if no-changeset
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  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: 46559
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: 46559
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: 46559
diff changeset
  2777
  o  i-1: a -move-> c, p -move-> s
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2778
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
  2779
  o  i-0 initial commit: a b h p q r
46560
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2780
  
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2781
#else
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2782
BROKEN: `hg log --follow <file>` relies on filelog metadata to work
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2783
  $ hg log -Gfr 'desc("mBRm-0")' d
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2784
  o  i-2: c -move-> d, s -move-> t
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2785
  |
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2786
  ~
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2787
#endif
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2788
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2789
#if no-changeset
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  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: 46559
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: 46559
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: 46559
diff changeset
  2793
  o  i-1: a -move-> c, p -move-> s
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2794
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
  2795
  o  i-0 initial commit: a b h p q r
46560
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2796
  
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2797
#else
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2798
BROKEN: `hg log --follow <file>` relies on filelog metadata to work
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2799
  $ hg log -Gfr 'desc("mRBm-0")' d
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2800
  o  i-2: c -move-> d, s -move-> t
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2801
  |
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2802
  ~
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2803
#endif
c7baff95808c test-copies: add a case involving the `b` and a new `r` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46559
diff changeset
  2804
46543
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46542
diff changeset
  2805
Subcase: reset of the copy history on one side
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46542
diff changeset
  2806
``````````````````````````````````````````````
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2807
44459
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
  2808
Merge:
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
  2809
- one with change to a file
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
  2810
- one deleting and recreating the file
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
  2811
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2812
Unlike in the 'BD/DB' cases, an actual merge happened here. So we should
44459
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
  2813
consider history and rename on both branch of the merge.
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
  2814
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2815
  $ hg log -G --rev '::(desc("mDGm")+desc("mGDm"))'
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2816
  o    mGDm-0 actual content merge, copies on one side - D side: delete and re-add (different content), G side: update content - the other way
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2817
  |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2818
  +---o  mDGm-0 actual content merge, copies on one side - D side: delete and re-add (different content), G side: update content - one way
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2819
  | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2820
  | o  g-1: update d
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2821
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2822
  o |  d-2 re-add d
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2823
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2824
  o |  d-1 delete d
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2825
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2826
  o  i-2: c -move-> d, s -move-> t
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2827
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2828
  o  i-1: a -move-> c, p -move-> s
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2829
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
  2830
  o  i-0 initial commit: a b h p q r
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2831
  
44758
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  2832
One side of the merge have a long history with rename. The other side of the
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  2833
merge point to a new file with a smaller history. Each side is "valid".
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  2834
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  2835
(and again the filelog based algorithm only explore one, with a pick based on
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  2836
revision numbers)
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  2837
44459
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
  2838
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mDGm-0")'
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
  2839
  A d
44758
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  2840
    a (filelog !)
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2841
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2842
    p
44459
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
  2843
  R a
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2844
  R p
44459
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
  2845
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mGDm-0")'
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
  2846
  A d
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
  2847
    a
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2848
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2849
    p
44459
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
  2850
  R a
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2851
  R p
44459
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
  2852
  $ hg status --copies --rev 'desc("d-2")' --rev 'desc("mDGm-0")'
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
  2853
  M d
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
  2854
  $ hg status --copies --rev 'desc("d-2")' --rev 'desc("mGDm-0")'
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
  2855
  M d
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
  2856
  $ hg status --copies --rev 'desc("g-1")' --rev 'desc("mDGm-0")'
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
  2857
  M d
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
  2858
  $ hg status --copies --rev 'desc("g-1")' --rev 'desc("mGDm-0")'
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
  2859
  M d
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
  2860
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2861
#if no-changeset
44459
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
  2862
  $ hg log -Gfr 'desc("mDGm-0")' d
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2863
  o    mDGm-0 actual content merge, copies on one side - D side: delete and re-add (different content), G side: update content - one way
44459
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
  2864
  |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2865
  | o  g-1: update d
44459
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
  2866
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2867
  o |  d-2 re-add d
44459
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
  2868
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2869
  o  i-2: c -move-> d, s -move-> t
44459
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
  2870
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2871
  o  i-1: a -move-> c, p -move-> s
44459
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
  2872
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
  2873
  o  i-0 initial commit: a b h p q r
44459
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
  2874
  
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2875
#else
45778
6620caf427ec tests: add notes about broken `hg log --follow <file>` with copies in extras
Martin von Zweigbergk <martinvonz@google.com>
parents: 45765
diff changeset
  2876
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
  2877
  $ hg log -Gfr 'desc("mDGm-0")' d
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2878
  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
  2879
  |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2880
  | 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
  2881
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2882
  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
  2883
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2884
  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
  2885
  |
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2886
  ~
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2887
#endif
44459
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
  2888
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
  2889
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2890
#if no-changeset
44459
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
  2891
  $ hg log -Gfr 'desc("mDGm-0")' d
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2892
  o    mDGm-0 actual content merge, copies on one side - D side: delete and re-add (different content), G side: update content - one way
44459
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
  2893
  |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2894
  | o  g-1: update d
44459
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
  2895
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2896
  o |  d-2 re-add d
44459
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
  2897
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2898
  o  i-2: c -move-> d, s -move-> t
44459
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
  2899
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2900
  o  i-1: a -move-> c, p -move-> s
44459
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
  2901
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
  2902
  o  i-0 initial commit: a b h p q r
44459
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
  2903
  
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2904
#else
45778
6620caf427ec tests: add notes about broken `hg log --follow <file>` with copies in extras
Martin von Zweigbergk <martinvonz@google.com>
parents: 45765
diff changeset
  2905
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
  2906
  $ hg log -Gfr 'desc("mDGm-0")' d
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2907
  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
  2908
  |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2909
  | 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
  2910
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2911
  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
  2912
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2913
  o  i-2: c -move-> d, s -move-> t
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2914
  |
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2915
  ~
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  2916
#endif
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  2917
46543
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46542
diff changeset
  2918
Subcase: merging a change to a file with a "copy overwrite" to that file from another branch
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46542
diff changeset
  2919
````````````````````````````````````````````````````````````````````````````````````````````
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  2920
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  2921
Merge:
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  2922
- one with change to a file (d)
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  2923
- one overwriting that file with a rename (from h to i, to d)
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  2924
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  2925
This case is similar to BF/FB, but an actual merge happens, so both side of the
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  2926
history are relevant.
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  2927
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  2928
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2929
  $ hg log -G --rev '::(desc("mGFm")+desc("mFGm"))'
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2930
  o    mGFm-0 merge - G side: content change, F side: copy overwrite, no content change - the other way
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2931
  |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2932
  +---o  mFGm-0 merge - G side: content change, F side: copy overwrite, no content change - one way
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2933
  | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2934
  | o  g-1: update d
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2935
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2936
  o |  f-2: rename i -> d
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2937
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  2938
  o |  f-1: rename h -> i
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2939
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2940
  o  i-2: c -move-> d, s -move-> t
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2941
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2942
  o  i-1: a -move-> c, p -move-> s
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2943
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
  2944
  o  i-0 initial commit: a b h p q r
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  2945
  
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
  2946
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
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
  2948
| 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
  2949
| "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
  2950
|
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
| 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
  2952
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
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
  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
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
  2956
1d6aac94e6d5 copies: explain the "arbitrary" copy source pick in case of conflict
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46159
diff changeset
  2957
  $ hg manifest --debug 'desc("g-1")' | egrep 'd$'
46531
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46527
diff changeset
  2958
  17ec97e605773eb44a117d1136b3849bcdc1924f 644   d (no-changeset !)
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46527
diff changeset
  2959
  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
  2960
  $ 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
  2961
  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
  2962
    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
  2963
1d6aac94e6d5 copies: explain the "arbitrary" copy source pick in case of conflict
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46159
diff changeset
  2964
  $ hg manifest --debug 'desc("f-2")' | egrep 'd$'
46531
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46527
diff changeset
  2965
  7b79e2fe0c8924e0e598a82f048a7b024afa4d96 644   d (no-changeset !)
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46527
diff changeset
  2966
  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
  2967
  $ 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
  2968
  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
  2969
    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
  2970
1d6aac94e6d5 copies: explain the "arbitrary" copy source pick in case of conflict
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46159
diff changeset
  2971
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
  2972
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  2973
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mFGm-0")'
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  2974
  A d
46527
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
  2975
    h (no-filelog !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
  2976
    a (filelog !)
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2977
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2978
    p
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  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: 44459
diff changeset
  2980
  R h
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2981
  R p
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  2982
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mGFm-0")'
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  2983
  A d
46527
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
  2984
    a (no-changeset !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
  2985
    h (changeset !)
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2986
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2987
    p
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  2988
  R a
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  2989
  R h
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  2990
  R p
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  2991
  $ hg status --copies --rev 'desc("f-2")' --rev 'desc("mFGm-0")'
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  2992
  M d
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  2993
  $ hg status --copies --rev 'desc("f-2")' --rev 'desc("mGFm-0")'
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  2994
  M d
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  2995
  $ hg status --copies --rev 'desc("f-1")' --rev 'desc("mFGm-0")'
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  2996
  M d
44758
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  2997
    i (no-filelog !)
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  2998
  R i
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  2999
  $ hg status --copies --rev 'desc("f-1")' --rev 'desc("mGFm-0")'
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  3000
  M d
44758
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  3001
    i (no-filelog !)
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  3002
  R i
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  3003
  $ hg status --copies --rev 'desc("g-1")' --rev 'desc("mFGm-0")'
46527
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
  3004
  M d (no-changeset !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
  3005
    h (no-filelog no-changeset !)
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  3006
  R h
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  3007
  $ hg status --copies --rev 'desc("g-1")' --rev 'desc("mGFm-0")'
46527
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
  3008
  M d (no-changeset !)
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
  3009
    h (no-filelog no-changeset !)
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  3010
  R h
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  3011
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  3012
#if no-changeset
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  3013
  $ hg log -Gfr 'desc("mFGm-0")' d
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  3014
  o    mFGm-0 merge - G side: content change, F side: copy overwrite, no content change - one way
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  3015
  |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  3016
  | o  g-1: update d
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  3017
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  3018
  o |  f-2: rename i -> d
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  3019
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  3020
  o |  f-1: rename h -> i
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  3021
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  3022
  o  i-2: c -move-> d, s -move-> t
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  3023
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  3024
  o  i-1: a -move-> c, p -move-> s
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  3025
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
  3026
  o  i-0 initial commit: a b h p q r
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  3027
  
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  3028
#else
45778
6620caf427ec tests: add notes about broken `hg log --follow <file>` with copies in extras
Martin von Zweigbergk <martinvonz@google.com>
parents: 45765
diff changeset
  3029
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
  3030
  $ hg log -Gfr 'desc("mFGm-0")' d
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  3031
  o  g-1: update d
46527
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
  3032
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  3033
  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
  3034
  |
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  3035
  ~
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  3036
#endif
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  3037
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  3038
#if no-changeset
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  3039
  $ hg log -Gfr 'desc("mGFm-0")' d
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  3040
  o    mGFm-0 merge - G side: content change, F side: copy overwrite, no content change - the other way
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  3041
  |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  3042
  | o  g-1: update d
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  3043
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  3044
  o |  f-2: rename i -> d
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  3045
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  3046
  o |  f-1: rename h -> i
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  3047
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  3048
  o  i-2: c -move-> d, s -move-> t
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  3049
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  3050
  o  i-1: a -move-> c, p -move-> s
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  3051
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
  3052
  o  i-0 initial commit: a b h p q r
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  3053
  
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  3054
#else
45778
6620caf427ec tests: add notes about broken `hg log --follow <file>` with copies in extras
Martin von Zweigbergk <martinvonz@google.com>
parents: 45765
diff changeset
  3055
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
  3056
  $ hg log -Gfr 'desc("mGFm-0")' d
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  3057
  o  g-1: update d
46527
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
  3058
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  3059
  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
  3060
  |
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  3061
  ~
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  3062
#endif
45460
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
  3063
46559
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3064
Subcase: new copy information on both side with an actual merge happening
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3065
`````````````````````````````````````````````````````````````````````````
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3066
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3067
- the "p-" branch renaming 't' to 'v' (through 'u')
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3068
- the "q-" branch renaming 'r' to 'v' (through 'w')
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3069
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3070
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3071
  $ hg log -G --rev '::(desc("mPQm")+desc("mQPm"))'
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3072
  o    mQPm-0 merge with copies info on both side - P side: rename t to v, Q side: r to v, (different content) - the other way
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3073
  |\
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3074
  +---o  mPQm-0 merge with copies info on both side - P side: rename t to v, Q side: r to v, (different content) - one way
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3075
  | |/
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3076
  | o  q-2 w -move-> v
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3077
  | |
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3078
  | o  q-1 r -move-> w
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3079
  | |
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3080
  o |  p-2: u -move-> v
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3081
  | |
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3082
  o |  p-1: t -move-> u
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3083
  |/
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3084
  o  i-2: c -move-> d, s -move-> t
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3085
  |
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3086
  o  i-1: a -move-> c, p -move-> s
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3087
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
  3088
  o  i-0 initial commit: a b h p q r
46559
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3089
  
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3090
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3091
#if no-changeset
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3092
  $ hg manifest --debug --rev 'desc("mPQm-0")' | grep '644   v'
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3093
  0946c662ef16e4e67397fd717389eb6693d41749 644   v
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3094
  $ hg manifest --debug --rev 'desc("mQPm-0")' | grep '644   v'
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3095
  0db3aad7fcc1ec27fab57060e327b9e864ea0cc9 644   v
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3096
  $ hg manifest --debug --rev 'desc("p-2")' | grep '644   v'
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3097
  3f91841cd75cadc9a1f1b4e7c1aa6d411f76032e 644   v
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3098
  $ hg manifest --debug --rev 'desc("q-2")' | grep '644   v'
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3099
  c43c088b811fd27983c0a9aadf44f3343cd4cd7e 644   v
47064
7383df4f6e19 tests: run python script through quoted interpreter instead of directly
Matt Harbison <matt_harbison@yahoo.com>
parents: 46884
diff changeset
  3100
  $ hg debugindex v | "$PYTHON" ../no-linkrev
46559
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3101
     rev linkrev nodeid       p1           p2
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3102
       0       * 3f91841cd75c 000000000000 000000000000
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3103
       1       * c43c088b811f 000000000000 000000000000
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3104
       2       * 0946c662ef16 3f91841cd75c c43c088b811f
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3105
       3       * 0db3aad7fcc1 c43c088b811f 3f91841cd75c
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3106
#else
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3107
  $ hg manifest --debug --rev 'desc("mPQm-0")' | grep '644   v'
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3108
  65fde9f6e4d4da23b3f610e07b53673ea9541d75 644   v
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3109
  $ hg manifest --debug --rev 'desc("mQPm-0")' | grep '644   v'
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3110
  a098dda6413aecf154eefc976afc38b295acb7e5 644   v
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3111
  $ hg manifest --debug --rev 'desc("p-2")' | grep '644   v'
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3112
  5aed6a8dbff0301328c08360d24354d3d064cf0d 644   v
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3113
  $ hg manifest --debug --rev 'desc("q-2")' | grep '644   v'
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3114
  a38b2fa170219750dac9bc7d19df831f213ba708 644   v
47064
7383df4f6e19 tests: run python script through quoted interpreter instead of directly
Matt Harbison <matt_harbison@yahoo.com>
parents: 46884
diff changeset
  3115
  $ hg debugindex v | "$PYTHON" ../no-linkrev
46559
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3116
     rev linkrev nodeid       p1           p2
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3117
       0       * 5aed6a8dbff0 000000000000 000000000000
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3118
       1       * a38b2fa17021 000000000000 000000000000
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3119
       2       * 65fde9f6e4d4 5aed6a8dbff0 a38b2fa17021
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3120
       3       * a098dda6413a a38b2fa17021 5aed6a8dbff0
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3121
#endif
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3122
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3123
# Here the filelog based implementation is not looking at the rename
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3124
# information (because the file exist on both side). However the changelog
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3125
# based on works fine. We have different output.
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3126
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3127
  $ hg status --copies --rev 'desc("p-2")' --rev 'desc("mPQm-0")'
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3128
  M v
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3129
    r (no-filelog !)
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3130
  R r
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3131
  $ hg status --copies --rev 'desc("p-2")' --rev 'desc("mQPm-0")'
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3132
  M v
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3133
    r (no-filelog !)
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3134
  R r
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3135
  $ hg status --copies --rev 'desc("q-2")' --rev 'desc("mPQm-0")'
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3136
  M v
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3137
    t (no-filelog !)
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3138
  R t
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3139
  $ hg status --copies --rev 'desc("q-2")' --rev 'desc("mQPm-0")'
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3140
  M v
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3141
    t (no-filelog !)
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3142
  R t
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3143
  $ hg status --copies --rev 'desc("i-2")' --rev 'desc("p-2")'
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3144
  A v
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3145
    t
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3146
  R t
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3147
  $ hg status --copies --rev 'desc("i-2")' --rev 'desc("q-2")'
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3148
  A v
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3149
    r
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3150
  R r
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3151
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3152
# From here, we run status against revision where both source file exists.
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3153
#
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3154
# The filelog based implementation picks an arbitrary side based on revision
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3155
# numbers. So the same side "wins" whatever the parents order is. This is
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3156
# sub-optimal because depending on revision numbers means the result can be
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3157
# different from one repository to the next.
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3158
#
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3159
# The changeset based algorithm use the parent order to break tie on conflicting
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3160
# information and will have a different order depending on who is p1 and p2.
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3161
# That order is stable accross repositories. (data from p1 prevails)
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3162
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3163
  $ hg status --copies --rev 'desc("i-2")' --rev 'desc("mPQm-0")'
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3164
  A v
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3165
    t
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3166
  R r
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3167
  R t
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3168
  $ hg status --copies --rev 'desc("i-2")' --rev 'desc("mQPm-0")'
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3169
  A v
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3170
    t (filelog !)
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3171
    r (no-filelog !)
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3172
  R r
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3173
  R t
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3174
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mPQm-0")'
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3175
  A d
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3176
    a
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
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: 46558
diff changeset
  3178
    r (filelog !)
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3179
    p (no-filelog !)
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3180
  R a
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3181
  R p
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3182
  R r
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3183
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mQPm-0")'
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3184
  A d
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3185
    a
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3186
  A v
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3187
    r
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3188
  R a
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3189
  R p
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3190
  R r
a1273bea99cc test-copies: introduce case combining the `p` and `q` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46558
diff changeset
  3191
45460
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
  3192
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
  3193
Comparing with merging with a deletion (and keeping the file)
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
  3194
-------------------------------------------------------------
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
  3195
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
  3196
Merge:
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
  3197
- one removing a file (d)
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
  3198
- one updating that file
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
  3199
- the merge keep the modified version of the file (canceling the delete)
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
  3200
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
  3201
In this case, the file keep on living after the merge. So we should not drop its
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
  3202
copy tracing chain.
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
  3203
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
  3204
  $ hg log -G --rev '::(desc("mCGm")+desc("mGCm"))'
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  3205
  o    mGCm-0 merge updated/deleted - revive the file (updated content) - the other way
45460
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
  3206
  |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  3207
  +---o  mCGm-0 merge updated/deleted - revive the file (updated content) - one way
45460
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
  3208
  | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  3209
  | o  g-1: update d
45460
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
  3210
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  3211
  o |  c-1 delete d
45460
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
  3212
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  3213
  o  i-2: c -move-> d, s -move-> t
45460
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
  3214
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  3215
  o  i-1: a -move-> c, p -move-> s
45460
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
  3216
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
  3217
  o  i-0 initial commit: a b h p q r
45460
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
  3218
  
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
  3219
45670
a8fb29b05f92 salvaged: properly deal with salvaged file during copy tracing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45669
diff changeset
  3220
'a' is the copy source of 'd'
45460
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
  3221
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
  3222
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mCGm-0")'
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
  3223
  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
  3224
    a (no-compatibility no-changeset !)
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  3225
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  3226
    p
45460
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
  3227
  R a
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  3228
  R p
45460
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
  3229
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mGCm-0")'
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
  3230
  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
  3231
    a (no-compatibility no-changeset !)
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  3232
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  3233
    p
45460
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
  3234
  R a
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  3235
  R p
45460
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
  3236
  $ hg status --copies --rev 'desc("c-1")' --rev 'desc("mCGm-0")'
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
  3237
  A d
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
  3238
  $ hg status --copies --rev 'desc("c-1")' --rev 'desc("mGCm-0")'
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
  3239
  A d
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
  3240
  $ hg status --copies --rev 'desc("g-1")' --rev 'desc("mCGm-0")'
4b582a93316a copy-tracing: test case where we go across a changed/deleted merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44758
diff changeset
  3241
  $ hg status --copies --rev 'desc("g-1")' --rev 'desc("mGCm-0")'
45461
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  3242
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  3243
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  3244
Comparing with merge restoring an untouched deleted file
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  3245
--------------------------------------------------------
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  3246
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  3247
Merge:
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  3248
- one removing a file (d)
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  3249
- one leaving the file untouched
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  3250
- the merge actively restore the file to the same content.
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  3251
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  3252
In this case, the file keep on living after the merge. So we should not drop its
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  3253
copy tracing chain.
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  3254
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  3255
  $ hg log -G --rev '::(desc("mCB-revert-m")+desc("mBC-revert-m"))'
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  3256
  o    mBC-revert-m-0 merge explicitely revive deleted file - B side: unrelated change, C side: delete d (restored by merge) - the other way
45461
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  3257
  |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  3258
  +---o  mCB-revert-m-0 merge explicitely revive deleted file - B side: unrelated change, C side: delete d (restored by merge) - one way
45461
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  3259
  | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  3260
  | o  c-1 delete d
45461
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  3261
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  3262
  o |  b-1: b update
45461
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  3263
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  3264
  o  i-2: c -move-> d, s -move-> t
45461
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  3265
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  3266
  o  i-1: a -move-> c, p -move-> s
45461
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  3267
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
  3268
  o  i-0 initial commit: a b h p q r
45461
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  3269
  
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  3270
45670
a8fb29b05f92 salvaged: properly deal with salvaged file during copy tracing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45669
diff changeset
  3271
'a' is the the copy source of 'd'
45461
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  3272
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  3273
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mCB-revert-m-0")'
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  3274
  M b
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  3275
  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
  3276
    a (no-compatibility no-changeset !)
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  3277
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  3278
    p
45461
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  3279
  R a
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  3280
  R p
45461
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  3281
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mBC-revert-m-0")'
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  3282
  M b
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  3283
  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
  3284
    a (no-compatibility no-changeset !)
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  3285
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  3286
    p
45461
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  3287
  R a
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  3288
  R p
45461
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  3289
  $ hg status --copies --rev 'desc("c-1")' --rev 'desc("mCB-revert-m-0")'
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  3290
  M b
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  3291
  A d
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  3292
  $ hg status --copies --rev 'desc("c-1")' --rev 'desc("mBC-revert-m-0")'
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  3293
  M b
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  3294
  A d
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  3295
  $ hg status --copies --rev 'desc("b-1")' --rev 'desc("mCB-revert-m-0")'
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  3296
  $ hg status --copies --rev 'desc("b-1")' --rev 'desc("mBC-revert-m-0")'
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  3297
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  3298
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  3299
Merging a branch where a rename was deleted with a branch where the same file was renamed
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  3300
------------------------------------------------------------------------------------------
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  3301
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  3302
Create a "conflicting" merge where `d` get removed on one branch before its
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  3303
rename information actually conflict with the other branch.
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  3304
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  3305
(the copy information from the branch that was not deleted should win).
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  3306
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  3307
  $ hg log -G --rev '::(desc("mCH-delete-before-conflict-m")+desc("mHC-delete-before-conflict-m"))'
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  3308
  o    mHC-delete-before-conflict-m-0 simple merge - C side: d is the results of renames then deleted, H side: d is result of another rename (same content as the other branch) - the other way
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  3309
  |\
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  3310
  +---o  mCH-delete-before-conflict-m-0 simple merge - C side: d is the results of renames then deleted, H side: d is result of another rename (same content as the other branch) - one way
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  3311
  | |/
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  3312
  | o  h-1: b -(move)-> d
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  3313
  | |
46547
74e2256a56b8 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46546
diff changeset
  3314
  o |  c-1 delete d
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  3315
  | |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  3316
  o |  i-2: c -move-> d, s -move-> t
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  3317
  | |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  3318
  o |  i-1: a -move-> c, p -move-> s
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  3319
  |/
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
  3320
  o  i-0 initial commit: a b h p q r
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  3321
  
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  3322
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  3323
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mCH-delete-before-conflict-m")'
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  3324
  A d
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  3325
    b (no-compatibility no-changeset !)
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  3326
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  3327
    p
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  3328
  R a
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  3329
  R b
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  3330
  R p
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  3331
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mHC-delete-before-conflict-m")'
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  3332
  A d
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  3333
    b
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  3334
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  3335
    p
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  3336
  R a
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  3337
  R b
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  3338
  R p
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  3339
  $ hg status --copies --rev 'desc("c-1")' --rev 'desc("mCH-delete-before-conflict-m")'
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  3340
  A d
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  3341
    b
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  3342
  R b
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  3343
  $ hg status --copies --rev 'desc("c-1")' --rev 'desc("mHC-delete-before-conflict-m")'
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  3344
  A d
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  3345
    b
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  3346
  R b
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  3347
  $ hg status --copies --rev 'desc("h-1")' --rev 'desc("mCH-delete-before-conflict-m")'
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  3348
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  3349
    p
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  3350
  R a
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  3351
  R p
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  3352
  $ hg status --copies --rev 'desc("h-1")' --rev 'desc("mHC-delete-before-conflict-m")'
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  3353
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  3354
    p
45798
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  3355
  R a
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  3356
  R p
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  3357
46553
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3358
Variant of previous with extra changes introduced by the merge
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3359
--------------------------------------------------------------
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3360
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3361
(see case declaration for details)
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3362
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3363
Subcase: merge has same initial content on both side, but merge introduced a change
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3364
```````````````````````````````````````````````````````````````````````````````````
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3365
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3366
- the "e-" branch renaming b to f (through 'g')
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3367
- the "a-" branch renaming d to f (through e)
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3368
- the merge add new change to b
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3369
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3370
  $ hg log -G --rev '::(desc("mAE-change-m")+desc("mEA-change-m"))'
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3371
  o    mEA-change-m-0 merge with file update and copies info on both side - A side: rename d to f, E side: b to f, (same content for f in parent) - the other way
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3372
  |\
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3373
  +---o  mAE-change-m-0 merge with file update and copies info on both side - A side: rename d to f, E side: b to f, (same content for f in parent) - one way
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3374
  | |/
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3375
  | o  e-2 g -move-> f
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3376
  | |
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3377
  | o  e-1 b -move-> g
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3378
  | |
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3379
  o |  a-2: e -move-> f
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3380
  | |
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3381
  o |  a-1: d -move-> e
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3382
  |/
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  3383
  o  i-2: c -move-> d, s -move-> t
46553
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3384
  |
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  3385
  o  i-1: a -move-> c, p -move-> s
46553
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3386
  |
46610
d7d64b8c8229 tests: correct a commit description in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 46563
diff changeset
  3387
  o  i-0 initial commit: a b h p q r
46553
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3388
  
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3389
#if no-changeset
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3390
  $ hg manifest --debug --rev 'desc("mAE-change-m-0")' | grep '644   f'
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3391
  2f649fba7eb284e720d02b61f0546fcef694c045 644   f
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3392
  $ hg manifest --debug --rev 'desc("mEA-change-m-0")' | grep '644   f'
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3393
  774e7c1637d536b99e2d8ef16fd731f87a82bd09 644   f
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3394
  $ hg manifest --debug --rev 'desc("a-2")' | grep '644   f'
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3395
  b76eb76580df486c3d51d63c5c210d4dd43a8ac7 644   f
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3396
  $ hg manifest --debug --rev 'desc("e-2")' | grep '644   f'
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3397
  e8825b386367b29fec957283a80bb47b47483fe1 644   f
47064
7383df4f6e19 tests: run python script through quoted interpreter instead of directly
Matt Harbison <matt_harbison@yahoo.com>
parents: 46884
diff changeset
  3398
  $ hg debugindex f | "$PYTHON" ../no-linkrev
46553
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3399
     rev linkrev nodeid       p1           p2
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3400
       0       * b76eb76580df 000000000000 000000000000
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3401
       1       * e8825b386367 000000000000 000000000000
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3402
       2       * 2ff93c643948 b76eb76580df e8825b386367
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3403
       3       * 2f649fba7eb2 b76eb76580df e8825b386367
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3404
       4       * 774e7c1637d5 e8825b386367 b76eb76580df
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3405
#else
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3406
  $ hg manifest --debug --rev 'desc("mAE-change-m-0")' | grep '644   f'
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3407
  d3613c1ec8310a812ac4268fd853ac576b6caea5 644   f
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3408
  $ hg manifest --debug --rev 'desc("mEA-change-m-0")' | grep '644   f'
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3409
  05e03c868bbcab4a649cb33a238d7aa07398a469 644   f
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3410
  $ hg manifest --debug --rev 'desc("a-2")' | grep '644   f'
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3411
  ae258f702dfeca05bf9b6a22a97a4b5645570f11 644   f
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3412
  $ hg manifest --debug --rev 'desc("e-2")' | grep '644   f'
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3413
  ae258f702dfeca05bf9b6a22a97a4b5645570f11 644   f
47064
7383df4f6e19 tests: run python script through quoted interpreter instead of directly
Matt Harbison <matt_harbison@yahoo.com>
parents: 46884
diff changeset
  3414
  $ hg debugindex f | "$PYTHON" ../no-linkrev
46553
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3415
     rev linkrev nodeid       p1           p2
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3416
       0       * ae258f702dfe 000000000000 000000000000
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3417
       1       * d3613c1ec831 ae258f702dfe 000000000000
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3418
       2       * 05e03c868bbc ae258f702dfe 000000000000
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3419
#endif
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3420
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3421
# Here the filelog based implementation is not looking at the rename
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3422
# information (because the file exist on both side). However the changelog
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3423
# based on works fine. We have different output.
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3424
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3425
  $ hg status --copies --rev 'desc("a-2")' --rev 'desc("mAE-change-m-0")'
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3426
  M f
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3427
    b (no-filelog !)
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3428
  R b
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3429
  $ hg status --copies --rev 'desc("a-2")' --rev 'desc("mEA-change-m-0")'
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3430
  M f
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3431
    b (no-filelog !)
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3432
  R b
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3433
  $ hg status --copies --rev 'desc("e-2")' --rev 'desc("mAE-change-m-0")'
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3434
  M f
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3435
    d (no-filelog !)
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3436
  R d
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3437
  $ hg status --copies --rev 'desc("e-2")' --rev 'desc("mEA-change-m-0")'
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3438
  M f
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3439
    d (no-filelog !)
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3440
  R d
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3441
  $ hg status --copies --rev 'desc("i-2")' --rev 'desc("a-2")'
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3442
  A f
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3443
    d
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3444
  R d
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3445
  $ hg status --copies --rev 'desc("i-2")' --rev 'desc("e-2")'
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3446
  A f
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3447
    b
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3448
  R b
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3449
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3450
# From here, we run status against revision where both source file exists.
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3451
#
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3452
# The filelog based implementation picks an arbitrary side based on revision
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3453
# numbers. So the same side "wins" whatever the parents order is. This is
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3454
# sub-optimal because depending on revision numbers means the result can be
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3455
# different from one repository to the next.
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3456
#
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3457
# The changeset based algorithm use the parent order to break tie on conflicting
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3458
# information and will have a different order depending on who is p1 and p2.
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3459
# That order is stable accross repositories. (data from p1 prevails)
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3460
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3461
  $ hg status --copies --rev 'desc("i-2")' --rev 'desc("mAE-change-m-0")'
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3462
  A f
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3463
    d
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3464
  R b
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3465
  R d
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3466
  $ hg status --copies --rev 'desc("i-2")' --rev 'desc("mEA-change-m-0")'
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3467
  A f
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3468
    d (filelog !)
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3469
    b (no-filelog !)
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3470
  R b
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3471
  R d
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3472
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mAE-change-m-0")'
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3473
  A f
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3474
    a
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  3475
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  3476
    p
46553
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  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: 46552
diff changeset
  3478
  R b
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  3479
  R p
46553
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3480
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mEA-change-m-0")'
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3481
  A f
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3482
    a (filelog !)
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3483
    b (no-filelog !)
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  3484
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  3485
    p
46553
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3486
  R a
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3487
  R b
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  3488
  R p
46553
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3489
3aef76c3fd38 test-copies: add a "change during merge" variant to the A+E test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46552
diff changeset
  3490
46782
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3491
Subcase: merge overwrite common copy information, but with extra change during the merge
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3492
```````````````````````````````````````````````````````````````````````````````````
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3493
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3494
Merge:
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3495
- one with change to an unrelated file (b)
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3496
- one overwriting a file (d) with a rename (from h to i to d)
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3497
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3498
  $ hg log -G --rev '::(desc("mBF-change-m")+desc("mFB-change-m"))'
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3499
  o    mFB-change-m-0 merge with extra change - B side: unrelated change, F side: overwrite d with a copy (from h->i->d) - the other way
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3500
  |\
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3501
  +---o  mBF-change-m-0 merge with extra change - B side: unrelated change, F side: overwrite d with a copy (from h->i->d) - one way
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3502
  | |/
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3503
  | o  f-2: rename i -> d
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3504
  | |
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3505
  | o  f-1: rename h -> i
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3506
  | |
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3507
  o |  b-1: b update
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3508
  |/
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3509
  o  i-2: c -move-> d, s -move-> t
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3510
  |
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3511
  o  i-1: a -move-> c, p -move-> s
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3512
  |
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3513
  o  i-0 initial commit: a b h p q r
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3514
  
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3515
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mBF-change-m-0")'
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  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: 46706
diff changeset
  3517
  A d
47087
4b1bce1aa9bb test-copies: simplify some conditional output
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46884
diff changeset
  3518
    h
46782
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  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: 46706
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: 46706
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: 46706
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: 46706
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: 46706
diff changeset
  3524
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mFB-change-m-0")'
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3525
  M b
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3526
  A d
46811
5a0b930cfb3e commit: get info from mergestate whether a file was merged or not
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46782
diff changeset
  3527
    h
46782
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3528
  A t
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3529
    p
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3530
  R a
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3531
  R h
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3532
  R p
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3533
  $ hg status --copies --rev 'desc("b-1")' --rev 'desc("mBF-change-m-0")'
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3534
  M d
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3535
    h (no-filelog !)
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3536
  R h
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3537
  $ hg status --copies --rev 'desc("f-2")' --rev 'desc("mBF-change-m-0")'
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3538
  M b
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3539
  M d
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3540
  $ hg status --copies --rev 'desc("f-1")' --rev 'desc("mBF-change-m-0")'
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  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: 46706
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: 46706
diff changeset
  3543
    i (no-filelog !)
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3544
  R i
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3545
  $ hg status --copies --rev 'desc("b-1")' --rev 'desc("mFB-change-m-0")'
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3546
  M d
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3547
    h (no-filelog !)
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3548
  R h
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3549
  $ hg status --copies --rev 'desc("f-2")' --rev 'desc("mFB-change-m-0")'
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3550
  M b
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3551
  M d
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3552
  $ hg status --copies --rev 'desc("f-1")' --rev 'desc("mFB-change-m-0")'
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3553
  M b
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3554
  M d
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3555
    i (no-filelog !)
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3556
  R i
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3557
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3558
#if no-changeset
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3559
  $ hg log -Gfr 'desc("mBF-change-m-0")' d
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3560
  o    mBF-change-m-0 merge with extra change - B side: unrelated change, F side: overwrite d with a copy (from h->i->d) - one way
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3561
  |\
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3562
  o :  f-2: rename i -> d
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3563
  | :
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3564
  o :  f-1: rename h -> i
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3565
  :/
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3566
  o  i-0 initial commit: a b h p q r
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3567
  
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3568
#else
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3569
BROKEN: `hg log --follow <file>` relies on filelog metadata to work
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3570
  $ hg log -Gfr 'desc("mBF-change-m-0")' d
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3571
  o  mBF-change-m-0 merge with extra change - B side: unrelated change, F side: overwrite d with a copy (from h->i->d) - one way
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3572
  :
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3573
  o  i-2: c -move-> d, s -move-> t
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3574
  |
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3575
  ~
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3576
#endif
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3577
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3578
#if no-changeset
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3579
  $ hg log -Gfr 'desc("mFB-change-m-0")' d
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3580
  o    mFB-change-m-0 merge with extra change - B side: unrelated change, F side: overwrite d with a copy (from h->i->d) - the other way
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3581
  |\
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3582
  o :  f-2: rename i -> d
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3583
  | :
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3584
  o :  f-1: rename h -> i
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3585
  :/
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3586
  o  i-0 initial commit: a b h p q r
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3587
  
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3588
#else
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3589
BROKEN: `hg log --follow <file>` relies on filelog metadata to work
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3590
  $ hg log -Gfr 'desc("mFB-change-m-0")' d
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3591
  o  mFB-change-m-0 merge with extra change - B side: unrelated change, F side: overwrite d with a copy (from h->i->d) - the other way
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3592
  :
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3593
  o  i-2: c -move-> d, s -move-> t
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3594
  |
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3595
  ~
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3596
#endif
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3597
6b52cffd8d0a test-copies: add a test updating file content while merging a pure overwrite
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  3598
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
  3599
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
  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
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
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
  3603
- 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
  3604
- 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
  3605
- 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
  3606
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
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
  3608
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
  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
  $ 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
  3611
  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
  3612
  |\
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
  +---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
  3614
  | |/
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
  | 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
  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
  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
  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
  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
  3620
  |
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
  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
  3622
  |
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
  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
  3624
  
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
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
'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
  3627
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
  $ 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
  3629
  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
  3630
  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
  3631
    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
  3632
  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
  3633
    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
  3634
  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
  3635
  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
  3636
  $ 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
  3637
  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
  3638
  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
  3639
    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
  3640
  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
  3641
    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
  3642
  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
  3643
  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
  3644
  $ 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
  3645
  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
  3646
  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
  3647
  $ 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
  3648
  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
  3649
  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
  3650
  $ 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
  3651
  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
  3652
  $ 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
  3653
  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
  3654
316a768f2e43 test-copies: add a test updating file content while salvaging it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46812
diff changeset
  3655
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  3656
Decision from previous merge are properly chained with later merge
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  3657
------------------------------------------------------------------
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  3658
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  3659
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  3660
Subcase: chaining conflicting rename resolution
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  3661
```````````````````````````````````````````````
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  3662
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  3663
The "mAEm" and "mEAm" case create a rename tracking conflict on file 'f'. We
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  3664
add more change on the respective branch and merge again. These second merge
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  3665
does not involve the file 'f' and the arbitration done within "mAEm" and "mEA"
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  3666
about that file should stay unchanged.
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  3667
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  3668
The result from mAEm is the same for the subsequent merge:
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  3669
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  3670
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mAEm")' f
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  3671
  A f
47087
4b1bce1aa9bb test-copies: simplify some conditional output
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46884
diff changeset
  3672
    a (no-changeset no-compatibility !)
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  3673
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  3674
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mAE,Km")' f
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  3675
  A f
47087
4b1bce1aa9bb test-copies: simplify some conditional output
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46884
diff changeset
  3676
    a (no-changeset no-compatibility !)
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  3677
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  3678
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mK,AEm")' f
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  3679
  A f
47087
4b1bce1aa9bb test-copies: simplify some conditional output
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46884
diff changeset
  3680
    a (no-changeset no-compatibility !)
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  3681
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  3682
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  3683
The result from mEAm is the same for the subsequent merge:
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  3684
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  3685
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mEAm")' f
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  3686
  A f
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  3687
    a (filelog !)
47087
4b1bce1aa9bb test-copies: simplify some conditional output
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46884
diff changeset
  3688
    b (no-changeset no-compatibility no-filelog !)
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  3689
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  3690
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mEA,Jm")' f
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  3691
  A f
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  3692
    a (filelog !)
47087
4b1bce1aa9bb test-copies: simplify some conditional output
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46884
diff changeset
  3693
    b (no-changeset no-compatibility no-filelog !)
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  3694
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  3695
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mJ,EAm")' f
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  3696
  A f
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  3697
    a (filelog !)
47087
4b1bce1aa9bb test-copies: simplify some conditional output
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46884
diff changeset
  3698
    b (no-changeset no-compatibility no-filelog !)
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  3699
46561
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  3700
Subcase: chaining conflicting rename resolution
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  3701
```````````````````````````````````````````````
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  3702
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  3703
The "mPQm" and "mQPm" case create a rename tracking conflict on file 'v'. We
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  3704
add more change on the respective branch and merge again. These second merge
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  3705
does not involve the file 'v' and the arbitration done within "mPQm" and "mQP"
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  3706
about that file should stay unchanged.
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  3707
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  3708
The result from mPQm is the same for the subsequent merge:
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  3709
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  3710
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mPQm")' v
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  3711
  A v
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  3712
    r (filelog !)
47087
4b1bce1aa9bb test-copies: simplify some conditional output
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46884
diff changeset
  3713
    p (no-changeset no-compatibility no-filelog !)
46561
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  3714
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  3715
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mPQ,Tm")' v
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  3716
  A v
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  3717
    r (filelog !)
47087
4b1bce1aa9bb test-copies: simplify some conditional output
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46884
diff changeset
  3718
    p (no-changeset no-compatibility no-filelog !)
46561
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  3719
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  3720
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mT,PQm")' v
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  3721
  A v
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  3722
    r (filelog !)
47087
4b1bce1aa9bb test-copies: simplify some conditional output
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46884
diff changeset
  3723
    p (no-changeset no-compatibility no-filelog !)
46561
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  3724
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  3725
The result from mQPm is the same for the subsequent merge:
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  3726
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  3727
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mQPm")' v
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  3728
  A v
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  3729
    r (no-changeset no-compatibility !)
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  3730
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  3731
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mQP,Sm")' v
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  3732
  A v
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  3733
    r (no-changeset no-compatibility !)
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  3734
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  3735
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mS,QPm")' v
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  3736
  A v
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  3737
    r (filelog !)
47087
4b1bce1aa9bb test-copies: simplify some conditional output
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46884
diff changeset
  3738
    r (no-changeset no-compatibility no-filelog !)
46561
388a92023a1a test-copies: introduce merge chains test for the P/Q merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46560
diff changeset
  3739
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  3740
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  3741
Subcase: chaining salvage information during a merge
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  3742
````````````````````````````````````````````````````
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  3743
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  3744
We add more change on the branch were the file was deleted. merging again
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  3745
should preserve the fact eh file was salvaged.
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  3746
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  3747
reference output:
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  3748
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  3749
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mCB-revert-m-0")'
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  3750
  M b
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  3751
  A d
46563
c19c662097e1 copies: detect case when a merge decision overwrite previous data
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46561
diff changeset
  3752
    a (no-changeset no-compatibility !)
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  3753
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  3754
    p
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  3755
  R a
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  3756
  R p
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  3757
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mBC-revert-m-0")'
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  3758
  M b
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  3759
  A d
46563
c19c662097e1 copies: detect case when a merge decision overwrite previous data
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46561
diff changeset
  3760
    a (no-changeset no-compatibility !)
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  3761
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  3762
    p
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  3763
  R a
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  3764
  R p
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  3765
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  3766
chained output
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  3767
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mBC+revert,Lm")'
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  3768
  M b
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  3769
  A d
46563
c19c662097e1 copies: detect case when a merge decision overwrite previous data
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46561
diff changeset
  3770
    a (no-changeset no-compatibility !)
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  3771
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  3772
    p
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  3773
  A unrelated-l
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  3774
  R a
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  3775
  R p
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  3776
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mCB+revert,Lm")'
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  3777
  M b
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  3778
  A d
46563
c19c662097e1 copies: detect case when a merge decision overwrite previous data
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46561
diff changeset
  3779
    a (no-changeset no-compatibility !)
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  3780
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  3781
    p
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  3782
  A unrelated-l
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  3783
  R a
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  3784
  R p
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  3785
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mL,BC+revertm")'
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  3786
  M b
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  3787
  A d
46563
c19c662097e1 copies: detect case when a merge decision overwrite previous data
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46561
diff changeset
  3788
    a (no-changeset no-compatibility !)
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  3789
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  3790
    p
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  3791
  A unrelated-l
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  3792
  R a
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  3793
  R p
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  3794
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mL,CB+revertm")'
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  3795
  M b
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  3796
  A d
46563
c19c662097e1 copies: detect case when a merge decision overwrite previous data
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46561
diff changeset
  3797
    a (no-changeset no-compatibility !)
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  3798
  A t
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  3799
    p
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  3800
  A unrelated-l
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  3801
  R a
46556
0ebfd02dafd5 test-copies: move the new files in the `i` branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46555
diff changeset
  3802
  R p
46545
3805b13ad7fe test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46544
diff changeset
  3803
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3804
Subcase: chaining "merged" information during a merge
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3805
``````````````````````````````````````````````````````
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3806
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3807
When a non-rename change are merged with a copy overwrite, the merge pick the copy source from (p1) as the reference. We should preserve this information in subsequent merges.
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3808
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3809
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3810
reference output:
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3811
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3812
 (for details about the filelog pick, check the mFGm/mGFm case)
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3813
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3814
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mFGm")' d
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3815
  A d
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3816
    a (filelog !)
47087
4b1bce1aa9bb test-copies: simplify some conditional output
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46884
diff changeset
  3817
    h (no-changeset no-compatibility no-filelog !)
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3818
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mGFm")' d
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3819
  A d
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3820
    a (filelog !)
47087
4b1bce1aa9bb test-copies: simplify some conditional output
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46884
diff changeset
  3821
    a (no-changeset no-compatibility no-filelog !)
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3822
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3823
Chained output
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3824
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3825
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mO,FGm")' d
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3826
  A d
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3827
    a (filelog !)
47087
4b1bce1aa9bb test-copies: simplify some conditional output
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46884
diff changeset
  3828
    h (no-changeset no-compatibility no-filelog !)
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3829
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mFG,Om")' d
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3830
  A d
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3831
    a (filelog !)
47087
4b1bce1aa9bb test-copies: simplify some conditional output
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46884
diff changeset
  3832
    h (no-changeset no-compatibility no-filelog !)
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3833
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3834
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3835
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mGF,Nm")' d
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3836
  A d
46563
c19c662097e1 copies: detect case when a merge decision overwrite previous data
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46561
diff changeset
  3837
    a (no-changeset no-compatibility !)
46546
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3838
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mN,GFm")' d
075b2499e3d6 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46545
diff changeset
  3839
  A d
46563
c19c662097e1 copies: detect case when a merge decision overwrite previous data
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46561
diff changeset
  3840
    a (no-changeset no-compatibility !)
46554
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3841
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3842
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3843
Subcase: chaining conflicting rename resolution, with extra change during the merge
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3844
```````````````````````````````````````````````````````````````````````````````````
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3845
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3846
The "mAEm" and "mEAm" case create a rename tracking conflict on file 'f'. We
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3847
add more change on the respective branch and merge again. These second merge
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3848
does not involve the file 'f' and the arbitration done within "mAEm" and "mEA"
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3849
about that file should stay unchanged.
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3850
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3851
The result from mAEm is the same for the subsequent merge:
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3852
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3853
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mAE-change-m")' f
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3854
  A f
47087
4b1bce1aa9bb test-copies: simplify some conditional output
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46884
diff changeset
  3855
    a (no-changeset no-compatibility !)
46554
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3856
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3857
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mAE-change,Km")' f
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3858
  A f
47087
4b1bce1aa9bb test-copies: simplify some conditional output
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46884
diff changeset
  3859
    a (no-changeset no-compatibility !)
46554
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3860
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3861
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mK,AE-change-m")' f
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3862
  A f
46563
c19c662097e1 copies: detect case when a merge decision overwrite previous data
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46561
diff changeset
  3863
    a (no-changeset no-compatibility !)
46554
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3864
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3865
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3866
The result from mEAm is the same for the subsequent merge:
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3867
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3868
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mEA-change-m")' f
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3869
  A f
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3870
    a (filelog !)
47087
4b1bce1aa9bb test-copies: simplify some conditional output
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46884
diff changeset
  3871
    b (no-changeset no-compatibility no-filelog !)
46554
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3872
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3873
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mEA-change,Jm")' f
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3874
  A f
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3875
    a (filelog !)
47087
4b1bce1aa9bb test-copies: simplify some conditional output
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46884
diff changeset
  3876
    b (no-changeset no-compatibility no-filelog !)
46554
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3877
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3878
  $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mJ,EA-change-m")' f
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3879
  A f
664bee002d1a test-copies: introduce merge chaing test for the A/E + change tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46553
diff changeset
  3880
    a (filelog !)
47087
4b1bce1aa9bb test-copies: simplify some conditional output
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46884
diff changeset
  3881
    b (no-changeset no-compatibility no-filelog !)