tests/test-copies-chain-merge.t
author Pierre-Yves David <pierre-yves.david@octobus.net>
Tue, 16 Feb 2021 15:43:54 +0100
changeset 46544 fbc466484fc3
parent 46543 f01696d45d1e
child 46545 3805b13ad7fe
permissions -rw-r--r--
test-copies: add test chaining multiple merges Right now, the copy tracing logic take the right decision for merges, but it does not keep track of the right information about these decision and can fall into later traps. We start with highlighting this possibility by adding new tests, and we will fix them later. Check the inline test documentation for details. Differential Revision: https://phab.mercurial-scm.org/D9609
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
45735
edf4fa06df94 upgrade: allow sidedata upgrade to modify revision flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45733
diff changeset
     1
#testcases filelog compatibility changeset sidedata upgraded
44758
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
     2
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     3
=====================================================
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     4
Test Copy tracing for chain of copies involving merge
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     5
=====================================================
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     6
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     7
This test files covers copies/rename case for a chains of commit where merges
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     8
are involved. It cheks we do not have unwanted update of behavior and that the
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     9
different options to retrieve copies behave correctly.
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    10
44758
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
    11
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    12
Setup
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    13
=====
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    14
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    15
use git diff to see rename
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    16
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    17
  $ 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
    18
  > [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
    19
  > 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
    20
  > [command-templates]
ed84a4d48910 config: add a new [command-templates] section for templates defined by hg
Martin von Zweigbergk <martinvonz@google.com>
parents: 45735
diff changeset
    21
  > log={rev} {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
    22
  > 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
    23
44758
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
    24
#if compatibility
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
    25
  $ cat >> $HGRCPATH << EOF
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
    26
  > [experimental]
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
    27
  > 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
    28
  > EOF
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
    29
#endif
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
    30
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
    31
#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
    32
  $ 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
    33
  > [experimental]
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
    34
  > 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
    35
  > 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
    36
  > EOF
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
    37
#endif
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
    38
44758
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
    39
#if sidedata
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
    40
  $ cat >> $HGRCPATH << EOF
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
    41
  > [format]
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
    42
  > 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
    43
  > 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
    44
  > EOF
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
    45
#endif
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
    46
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
    47
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
    48
  $ 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
    49
  > 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
    50
  > 
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46527
diff changeset
    51
  > 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
    52
  > 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
    53
  > 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
    54
  > 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
    55
  > 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
    56
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
    57
  $ 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
    58
  $ 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
    59
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    60
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
    61
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
    62
  $ 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
    63
  $ 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
    64
  $ cp ../same-content.txt h
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
    65
  $ hg ci -Am 'i-0 initial commit: a b h'
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    66
  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
    67
  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
    68
  adding h
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    69
  $ hg mv a c
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    70
  $ hg ci -Am 'i-1: a -move-> c'
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    71
  $ hg mv c 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
    72
  $ hg ci -Am 'i-2: c -move-> 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
    73
  $ hg log -G
44662
25d97090c6ca copies-tests: remove spurious `]` in the template
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44460
diff changeset
    74
  @  2 i-2: c -move-> 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
    75
  |
44662
25d97090c6ca copies-tests: remove spurious `]` in the template
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44460
diff changeset
    76
  o  1 i-1: a -move-> c
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
    77
  |
44662
25d97090c6ca copies-tests: remove spurious `]` in the template
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44460
diff changeset
    78
  o  0 i-0 initial commit: a b h
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    79
  
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    80
44453
68e14fecd82a copies-tests: swap two branch description
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44444
diff changeset
    81
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
    82
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    83
  $ 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
    84
  $ 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
    85
  $ 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
    86
  $ 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
    87
  $ hg log -G --rev '::.'
44662
25d97090c6ca copies-tests: remove spurious `]` in the template
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44460
diff changeset
    88
  @  4 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
    89
  |
44662
25d97090c6ca copies-tests: remove spurious `]` in the template
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44460
diff changeset
    90
  o  3 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
    91
  |
44662
25d97090c6ca copies-tests: remove spurious `]` in the template
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44460
diff changeset
    92
  o  2 i-2: c -move-> 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
    93
  |
44662
25d97090c6ca copies-tests: remove spurious `]` in the template
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44460
diff changeset
    94
  o  1 i-1: a -move-> c
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
    95
  |
44662
25d97090c6ca copies-tests: remove spurious `]` in the template
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44460
diff changeset
    96
  o  0 i-0 initial commit: a b h
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    97
  
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    98
44453
68e14fecd82a copies-tests: swap two branch description
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44444
diff changeset
    99
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
   100
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   101
  $ 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
   102
  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
   103
  $ 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
   104
  $ 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
   105
  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
   106
  $ hg log -G --rev '::.'
44662
25d97090c6ca copies-tests: remove spurious `]` in the template
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44460
diff changeset
   107
  @  5 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
   108
  |
44662
25d97090c6ca copies-tests: remove spurious `]` in the template
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44460
diff changeset
   109
  o  2 i-2: c -move-> 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
   110
  |
44662
25d97090c6ca copies-tests: remove spurious `]` in the template
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44460
diff changeset
   111
  o  1 i-1: a -move-> c
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   112
  |
44662
25d97090c6ca copies-tests: remove spurious `]` in the template
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44460
diff changeset
   113
  o  0 i-0 initial commit: a b h
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   114
  
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   115
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
   116
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
   117
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
   118
  $ 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
   119
  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
   120
  $ 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
   121
  $ 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
   122
  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
   123
  $ hg log -G --rev '::.'
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
   124
  @  6 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
   125
  |
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
   126
  o  2 i-2: c -move-> 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
   127
  |
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
   128
  o  1 i-1: a -move-> c
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
   129
  |
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
   130
  o  0 i-0 initial commit: a b h
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
   131
  
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
   132
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
   133
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
   134
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
   135
  $ 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
   136
  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
   137
  $ 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
   138
  $ 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
   139
  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
   140
  $ 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
   141
  $ 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
   142
  $ 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
   143
  $ hg log -G --rev '::.'
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   144
  @  8 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
   145
  |
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   146
  o  7 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
   147
  |
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   148
  o  2 i-2: c -move-> 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
   149
  |
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   150
  o  1 i-1: a -move-> c
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
   151
  |
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   152
  o  0 i-0 initial commit: a b h
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   153
  
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   154
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   155
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
   156
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   157
  $ 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
   158
  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
   159
  $ 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
   160
  $ 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
   161
  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
   162
  $ 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
   163
  $ 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
   164
  $ hg log -G --rev '::.'
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
   165
  @  10 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
   166
  |
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
   167
  o  9 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
   168
  |
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
   169
  o  2 i-2: c -move-> 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
   170
  |
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
  o  1 i-1: a -move-> c
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
  o  0 i-0 initial commit: a b h
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
  
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
   175
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   176
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
   177
===============
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   178
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   179
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
   180
information.
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   181
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
   182
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
   183
---------------------------------------------------------------
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
   184
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
   185
- 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
   186
- 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
   187
46533
e20977208924 test-copies: improve description of the A+B case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46532
diff changeset
   188
  $ 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
   189
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
   190
  $ hg up 'desc("b-1")'
44677
4e2845d9452d tests: collect all branch creation in one place in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44662
diff changeset
   191
  1 files updated, 0 files merged, 1 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
   192
  $ 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
   193
  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
   194
  (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
   195
  $ 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
   196
  $ 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
   197
  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
   198
  $ 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
   199
  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
   200
  (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
   201
  $ 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
   202
  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
   203
  $ hg log -G --rev '::(desc("mABm")+desc("mBAm"))'
46533
e20977208924 test-copies: improve description of the A+B case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46532
diff changeset
   204
  @    12 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
   205
  |\
46533
e20977208924 test-copies: improve description of the A+B case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46532
diff changeset
   206
  +---o  11 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
   207
  | |/
44662
25d97090c6ca copies-tests: remove spurious `]` in the template
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44460
diff changeset
   208
  | o  5 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
   209
  | |
44662
25d97090c6ca copies-tests: remove spurious `]` in the template
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44460
diff changeset
   210
  o |  4 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
   211
  | |
44662
25d97090c6ca copies-tests: remove spurious `]` in the template
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44460
diff changeset
   212
  o |  3 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
   213
  |/
44662
25d97090c6ca copies-tests: remove spurious `]` in the template
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44460
diff changeset
   214
  o  2 i-2: c -move-> 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
   215
  |
44662
25d97090c6ca copies-tests: remove spurious `]` in the template
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44460
diff changeset
   216
  o  1 i-1: a -move-> c
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
   217
  |
44662
25d97090c6ca copies-tests: remove spurious `]` in the template
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44460
diff changeset
   218
  o  0 i-0 initial commit: a b h
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   219
  
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   220
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   221
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   222
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
   223
-------------------------------------
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   224
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   225
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
   226
- 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
   227
- 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
   228
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
   229
46534
979838adc46b test-copies: improve description of the B+C case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46533
diff changeset
   230
  $ 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
   231
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   232
  $ 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
   233
  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
   234
  $ 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
   235
  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
   236
  (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
   237
  $ 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
   238
  $ 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
   239
  $ 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
   240
  $ 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
   241
  $ 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
   242
  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
   243
  $ 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
   244
  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
   245
  (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
   246
  $ 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
   247
  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
   248
  $ 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
   249
  $ 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
   250
  $ 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
   251
  $ hg log -G --rev '::(desc("mCBm")+desc("mBCm"))'
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   252
  @  16 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
   253
  |
46534
979838adc46b test-copies: improve description of the B+C case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46533
diff changeset
   254
  o    15 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
   255
  |\
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   256
  | | o  14 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
   257
  | | |
46534
979838adc46b test-copies: improve description of the B+C case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46533
diff changeset
   258
  +---o  13 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
   259
  | |/
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   260
  | o  6 c-1 delete d
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   261
  | |
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   262
  o |  5 b-1: b update
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   263
  |/
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   264
  o  2 i-2: c -move-> d
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   265
  |
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   266
  o  1 i-1: a -move-> c
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   267
  |
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   268
  o  0 i-0 initial commit: a b h
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   269
  
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   270
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   271
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
   272
---------------------------------------------------
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   273
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   274
Merge:
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   275
- 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
   276
- 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
   277
46535
9a58f9eed303 test-copies: improve description of the B+D case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46534
diff changeset
   278
  $ 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
   279
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   280
  $ 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
   281
  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
   282
  $ 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
   283
  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
   284
  (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
   285
  $ 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
   286
  $ 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
   287
  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
   288
  $ 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
   289
  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
   290
  (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
   291
  $ 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
   292
  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
   293
  $ hg log -G --rev '::(desc("mDBm")+desc("mBDm"))'
46535
9a58f9eed303 test-copies: improve description of the B+D case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46534
diff changeset
   294
  @    18 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
   295
  |\
46535
9a58f9eed303 test-copies: improve description of the B+D case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46534
diff changeset
   296
  +---o  17 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
   297
  | |/
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   298
  | o  8 d-2 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
   299
  | |
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   300
  | o  7 d-1 delete d
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   301
  | |
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   302
  o |  5 b-1: b update
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   303
  |/
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   304
  o  2 i-2: c -move-> d
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   305
  |
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   306
  o  1 i-1: a -move-> c
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   307
  |
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   308
  o  0 i-0 initial commit: a b h
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   309
  
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   310
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   311
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   312
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
   313
--------------------------------------------
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   314
46543
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46542
diff changeset
   315
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
   316
``````````````````````````````````````````
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46542
diff changeset
   317
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   318
- 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
   319
- 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
   320
46536
19f490690880 test-copies: improve description of the A+E case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46535
diff changeset
   321
  $ 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
   322
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   323
  $ 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
   324
  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
   325
  $ 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
   326
  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
   327
  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
   328
  (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
   329
  $ 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
   330
  $ 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
   331
  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
   332
  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
   333
  $ 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
   334
  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
   335
  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
   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 "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
   338
  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
   339
  $ hg log -G --rev '::(desc("mAEm")+desc("mEAm"))'
46536
19f490690880 test-copies: improve description of the A+E case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46535
diff changeset
   340
  @    20 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
   341
  |\
46536
19f490690880 test-copies: improve description of the A+E case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46535
diff changeset
   342
  +---o  19 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
   343
  | |/
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   344
  | o  10 e-2 g -move-> f
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   345
  | |
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   346
  | o  9 e-1 b -move-> g
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   347
  | |
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   348
  o |  4 a-2: e -move-> f
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   349
  | |
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   350
  o |  3 a-1: d -move-> e
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   351
  |/
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   352
  o  2 i-2: c -move-> d
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   353
  |
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   354
  o  1 i-1: a -move-> c
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   355
  |
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   356
  o  0 i-0 initial commit: a b h
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   357
  
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   358
46543
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46542
diff changeset
   359
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
   360
````````````````````````````````````````````````````````````
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
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   362
Merge:
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   363
- 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
   364
- 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
   365
46542
f8888f5c8c50 test-copies: improve description of the B+F case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46541
diff changeset
   366
  $ 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
   367
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   368
  $ 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
   369
  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
   370
  $ 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
   371
  $ 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
   372
  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
   373
  $ 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
   374
  $ hg commit -m "f-2: rename 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
   375
  $ hg debugindex d
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   376
     rev linkrev nodeid       p1           p2
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
   377
       0       2 d8252ab2e760 000000000000 000000000000 (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
   378
       0       2 ae258f702dfe 000000000000 000000000000 (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
   379
       1       8 b004912a8510 000000000000 000000000000
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
   380
       2      22 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
   381
  $ 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
   382
  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
   383
  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
   384
  $ 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
   385
  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
   386
  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
   387
  (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
   388
  $ 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
   389
  $ 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
   390
  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
   391
  $ 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
   392
  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
   393
  (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
   394
  $ 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
   395
  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
   396
  $ hg log -G --rev '::(desc("mBFm")+desc("mFBm"))'
46542
f8888f5c8c50 test-copies: improve description of the B+F case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46541
diff changeset
   397
  @    24 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
   398
  |\
46542
f8888f5c8c50 test-copies: improve description of the B+F case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46541
diff changeset
   399
  +---o  23 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
   400
  | |/
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   401
  | o  22 f-2: rename 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
   402
  | |
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   403
  | o  21 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
   404
  | |
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   405
  o |  5 b-1: b update
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   406
  |/
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   407
  o  2 i-2: c -move-> d
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   408
  |
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   409
  o  1 i-1: a -move-> c
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
  o  0 i-0 initial commit: a b h
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   412
  
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: 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
   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
Merge:
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   419
- 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
   420
- 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
   421
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   422
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
   423
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
   424
46537
1e96fdcc8bc1 test-copies: improve description of the D+G case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46536
diff changeset
   425
  $ 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
   426
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   427
  $ hg up 'desc("i-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
   428
  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
   429
  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
   430
  $ 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
   431
  $ 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
   432
  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
   433
  $ 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
   434
  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
   435
  $ 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
   436
  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
   437
  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
   438
  (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
   439
  $ 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
   440
  $ 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
   441
  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
   442
  $ 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
   443
  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
   444
  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
   445
  (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
   446
  $ 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
   447
  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
   448
  $ hg log -G --rev '::(desc("mDGm")+desc("mGDm"))'
46537
1e96fdcc8bc1 test-copies: improve description of the D+G case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46536
diff changeset
   449
  @    27 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
   450
  |\
46537
1e96fdcc8bc1 test-copies: improve description of the D+G case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46536
diff changeset
   451
  +---o  26 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
   452
  | |/
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   453
  | o  25 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
   454
  | |
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   455
  o |  8 d-2 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
   456
  | |
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   457
  o |  7 d-1 delete d
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   458
  |/
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   459
  o  2 i-2: c -move-> d
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   460
  |
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   461
  o  1 i-1: a -move-> c
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   462
  |
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   463
  o  0 i-0 initial commit: a b h
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   464
  
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   465
46543
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46542
diff changeset
   466
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
   467
````````````````````````````````````````````````````````````````````````````````````````````
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   468
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   469
Merge:
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   470
- 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
   471
- 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
   472
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   473
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
   474
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
   475
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   476
Note:
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   477
| 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
   478
| "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
   479
|
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   480
| 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
   481
46538
2f99dedf96b1 test-copies: improve description of the G+F case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46537
diff changeset
   482
  $ 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
   483
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   484
  $ 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
   485
  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
   486
  $ 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
   487
  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
   488
  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
   489
  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
   490
  (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
   491
  $ 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
   492
  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
   493
  $ 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
   494
  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
   495
  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
   496
  $ 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
   497
  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
   498
  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
   499
  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
   500
  (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
   501
  $ 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
   502
  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
   503
  $ hg log -G --rev '::(desc("mGFm")+desc("mFGm"))'
46538
2f99dedf96b1 test-copies: improve description of the G+F case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46537
diff changeset
   504
  @    29 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
   505
  |\
46538
2f99dedf96b1 test-copies: improve description of the G+F case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46537
diff changeset
   506
  +---o  28 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
   507
  | |/
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   508
  | o  25 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
   509
  | |
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   510
  o |  22 f-2: rename 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
   511
  | |
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   512
  o |  21 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
   513
  |/
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   514
  o  2 i-2: c -move-> d
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   515
  |
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   516
  o  1 i-1: a -move-> c
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   517
  |
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   518
  o  0 i-0 initial commit: a b h
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   519
  
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   520
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   521
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   522
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
   523
-------------------------------------------------------------
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   524
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   525
Merge:
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   526
- 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
   527
- 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
   528
- 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
   529
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   530
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
   531
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
   532
46539
a1a06dca6941 test-copies: improve description of the G+C case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46538
diff changeset
   533
  $ 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
   534
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   535
  $ hg 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
   536
  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
   537
  $ 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
   538
  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
   539
  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
   540
  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
   541
  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
   542
  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
   543
  [1]
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   544
  $ hg 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
   545
  (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
   546
  $ 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
   547
  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
   548
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   549
  $ hg up 'desc("g-1")'
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   550
  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
   551
  $ 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
   552
  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
   553
  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
   554
  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
   555
  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
   556
  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
   557
  [1]
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   558
  $ 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
   559
  (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
   560
  $ 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
   561
  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
   562
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   563
  $ hg log -G --rev '::(desc("mCGm")+desc("mGCm"))'
46539
a1a06dca6941 test-copies: improve description of the G+C case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46538
diff changeset
   564
  @    31 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
   565
  |\
46539
a1a06dca6941 test-copies: improve description of the G+C case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46538
diff changeset
   566
  +---o  30 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
   567
  | |/
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   568
  | o  25 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
   569
  | |
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   570
  o |  6 c-1 delete d
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   571
  |/
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   572
  o  2 i-2: c -move-> d
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   573
  |
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   574
  o  1 i-1: a -move-> c
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   575
  |
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   576
  o  0 i-0 initial commit: a b h
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   577
  
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   578
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   579
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   580
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   581
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
   582
--------------------------------------------------------
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   583
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   584
Merge:
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   585
- 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
   586
- 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
   587
- 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
   588
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   589
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
   590
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
   591
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
   592
  $ 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
   593
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   594
  $ hg 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
   595
  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
   596
  $ 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
   597
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   598
  (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
   599
  $ 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
   600
  $ 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
   601
  created new head
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   602
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   603
  $ hg up 'desc("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
   604
  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
   605
  $ 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
   606
  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
   607
  (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
   608
  $ 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
   609
  $ 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
   610
  created new head
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   611
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   612
  $ hg log -G --rev '::(desc("mCB-revert-m")+desc("mBC-revert-m"))'
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
   613
  @    33 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
   614
  |\
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
   615
  +---o  32 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
   616
  | |/
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   617
  | o  6 c-1 delete d
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   618
  | |
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   619
  o |  5 b-1: b update
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   620
  |/
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   621
  o  2 i-2: c -move-> d
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   622
  |
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   623
  o  1 i-1: a -move-> c
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   624
  |
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   625
  o  0 i-0 initial commit: a b h
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   626
  
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   627
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   628
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
   629
  $ 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
   630
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
   631
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
   632
------------------------------------------------------------------------------------------
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
   633
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
   634
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
   635
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
   636
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
   637
(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
   638
46541
60c52bdb1784 test-copies: improve description of the C+H case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46540
diff changeset
   639
  $ 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
   640
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
   641
  $ hg up 'desc("i-0")'
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
   642
  3 files updated, 0 files merged, 0 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
   643
  $ 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
   644
  $ 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
   645
  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
   646
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
   647
  $ hg up 'desc("c-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
   648
  1 files updated, 0 files merged, 2 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
   649
  $ 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
   650
  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
   651
  (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
   652
  $ 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
   653
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
   654
  $ hg up '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
   655
  1 files updated, 0 files merged, 0 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
   656
  $ hg merge 'desc("c-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
   657
  0 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
   658
  (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
   659
  $ 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
   660
  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
   661
  $ hg log -G --rev '::(desc("mCH-delete-before-conflict-m")+desc("mHC-delete-before-conflict-m"))'
46541
60c52bdb1784 test-copies: improve description of the C+H case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46540
diff changeset
   662
  @    36 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
   663
  |\
46541
60c52bdb1784 test-copies: improve description of the C+H case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46540
diff changeset
   664
  +---o  35 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
   665
  | |/
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
   666
  | o  34 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
   667
  | |
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
   668
  o |  6 c-1 delete 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
   669
  | |
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
   670
  o |  2 i-2: c -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
   671
  | |
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
   672
  o |  1 i-1: a -move-> c
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
   673
  |/
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
   674
  o  0 i-0 initial commit: a b h
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
   675
  
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
   676
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   677
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
   678
------------------------------------------------------------------
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   679
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   680
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
   681
```````````````````````````````````````````````
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   682
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   683
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
   684
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
   685
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
   686
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
   687
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   688
  $ 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
   689
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   690
(extra unrelated changes)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   691
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   692
  $ hg up 'desc("a-2")'
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   693
  2 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
   694
  $ echo j > unrelated-j
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   695
  $ hg add unrelated-j
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   696
  $ 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
   697
  created new head
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   698
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   699
  $ 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
   700
  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
   701
  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
   702
  $ echo k > unrelated-k
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   703
  $ hg add unrelated-k
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   704
  $ 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
   705
  created new head
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   706
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   707
(merge variant 1)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   708
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   709
  $ hg up 'desc("mAEm")'
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   710
  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
   711
  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
   712
  $ 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
   713
  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
   714
  (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
   715
  $ 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
   716
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   717
(merge variant 2)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   718
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   719
  $ 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
   720
  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
   721
  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
   722
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   723
  $ hg merge 'desc("mAEm")'
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   724
  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
   725
  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
   726
  (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
   727
  $ 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
   728
  created new head
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   729
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   730
(merge variant 3)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   731
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   732
  $ hg up 'desc("mEAm")'
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   733
  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
   734
  $ 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
   735
  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
   736
  (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
   737
  $ 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
   738
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   739
(merge variant 4)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   740
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   741
  $ hg up 'desc("j-1")'
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   742
  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
   743
  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
   744
  $ hg merge 'desc("mEAm")'
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   745
  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
   746
  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
   747
  (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
   748
  $ 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
   749
  created new head
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   750
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   751
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   752
  $ hg log -G --rev '::(desc("mAE,Km") + desc("mK,AEm") + desc("mEA,Jm") + desc("mJ,EAm"))'
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   753
  @    42 mJ,EAm: 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
   754
  |\
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   755
  +---o  41 mEA,Jm: 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
   756
  | |/
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   757
  | | o    40 mK,AEm: 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
   758
  | | |\
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   759
  | | +---o  39 mAE,Km: 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
   760
  | | | |/
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   761
  | | | o  38 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
   762
  | | | |
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   763
  | o | |  37 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
   764
  | | | |
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   765
  o-----+  20 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
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   766
  |/ / /
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   767
  | o /  19 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
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   768
  |/|/
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   769
  | o  10 e-2 g -move-> f
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   770
  | |
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   771
  | o  9 e-1 b -move-> g
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   772
  | |
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   773
  o |  4 a-2: e -move-> f
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   774
  | |
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   775
  o |  3 a-1: d -move-> e
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   776
  |/
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   777
  o  2 i-2: c -move-> d
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   778
  |
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   779
  o  1 i-1: a -move-> c
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   780
  |
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   781
  o  0 i-0 initial commit: a b h
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   782
  
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   783
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
   784
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
   785
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
   786
----------------------------
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
   787
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
   788
  $ 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
   789
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
   790
(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
   791
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
   792
  $ 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
   793
  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
   794
  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
   795
  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
   796
  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
   797
  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
   798
  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
   799
  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
   800
  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
   801
  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
   802
  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
   803
  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
   804
  h-1: b -(move)-> d
5f00eb608957 copies-tests: add a summary of all cases created in test-copies-chain-merge.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46160
diff changeset
   805
  i-0 initial commit: a b h
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
   806
  i-1: a -move-> c
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
   807
  i-2: c -move-> d
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   808
  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
   809
  k-1: unrelated changes (based on "e" changes)
46533
e20977208924 test-copies: improve description of the A+B case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46532
diff changeset
   810
  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
   811
  mAE,Km: chained merges (conflict -> simple) - same content everywhere
46536
19f490690880 test-copies: improve description of the A+E case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46535
diff changeset
   812
  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
   813
  mBAm-0 simple merge - A side: multiple renames, B side: unrelated update - 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
   814
  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
   815
  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
   816
  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
   817
  mBDm-0 simple merge - B side: unrelated update, D side: delete and recreate a file (with different content) - one way
46542
f8888f5c8c50 test-copies: improve description of the B+F case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46541
diff changeset
   818
  mBFm-0 simple merge - B side: unrelated change, F side: overwrite d with a copy (from h->i->d) - 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
   819
  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
   820
  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
   821
  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
   822
  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
   823
  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
   824
  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
   825
  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
   826
  mEA,Jm: chained merges (conflict -> simple) - same content everywhere
46536
19f490690880 test-copies: improve description of the A+E case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46535
diff changeset
   827
  mEAm-0 merge with copies info on both side - A side: rename d to f, E side: b to f, (same content for f) - the other way
46542
f8888f5c8c50 test-copies: improve description of the B+F case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46541
diff changeset
   828
  mFBm-0 simple merge - B side: unrelated change, F side: overwrite d with a copy (from h->i->d) - the other way
46538
2f99dedf96b1 test-copies: improve description of the G+F case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46537
diff changeset
   829
  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
   830
  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
   831
  mGDm-0 actual content merge, copies on one side - D side: delete and re-add (different content), G side: update content - the other way
46538
2f99dedf96b1 test-copies: improve description of the G+F case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46537
diff changeset
   832
  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
   833
  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
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
   834
  mJ,EAm: 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
   835
  mK,AEm: chained merges (conflict -> simple) - same content everywhere
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
   836
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
   837
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
   838
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
   839
===========================================================
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
   840
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
   841
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
   842
 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
   843
 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
   844
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
   845
45735
edf4fa06df94 upgrade: allow sidedata upgrade to modify revision flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45733
diff changeset
   846
#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
   847
  $ 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
   848
  > [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
   849
  > 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
   850
  > 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
   851
  > 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
   852
  $ 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
   853
  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
   854
  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
   855
  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
   856
  generaldelta:       yes    yes     yes
46334
4b0192f592cf share: move share safe functionality out of experimental
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46186
diff changeset
   857
  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
   858
  sparserevlog:       yes    yes     yes
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
   859
  sidedata:            no    yes      no
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
   860
  persistent-nodemap:  no     no      no
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
   861
  copies-sdc:          no    yes      no
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
   862
  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
   863
  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
   864
  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
   865
  $ 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
   866
  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
   867
  
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
   868
  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
   869
     preserved: * (glob)
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
   870
     added: exp-copies-sidedata-changeset, exp-sidedata-flag
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
   871
  
46035
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
   872
  processed revlogs:
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
   873
    - all-filelogs
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
   874
    - changelog
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
   875
    - manifest
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
   876
  
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
   877
#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
   878
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
   879
45735
edf4fa06df94 upgrade: allow sidedata upgrade to modify revision flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45733
diff changeset
   880
#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
   881
46479
c2435280ca63 copy-tracing: add a --compute flag to debugchangedfiles
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46334
diff changeset
   882
  $ 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
   883
  added      : a, ;
c2435280ca63 copy-tracing: add a --compute flag to debugchangedfiles
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46334
diff changeset
   884
  added      : b, ;
c2435280ca63 copy-tracing: add a --compute flag to debugchangedfiles
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46334
diff changeset
   885
  added      : h, ;
c2435280ca63 copy-tracing: add a --compute flag to debugchangedfiles
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46334
diff changeset
   886
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
   887
  $ for rev in `hg log --rev 'all()' -T '{rev}\n'`; do
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
   888
  >     echo "##### revision $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
   889
  >     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
   890
  >     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
   891
  > done
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
   892
  ##### revision 0 #####
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
   893
  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
   894
   entry-0014 size 34
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
   895
    '\x00\x00\x00\x03\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\x00abh'
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
   896
  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
   897
  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
   898
  added      : 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
   899
  ##### revision 1 #####
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
   900
  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
   901
   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
   902
    '\x00\x00\x00\x02\x0c\x00\x00\x00\x01\x00\x00\x00\x00\x06\x00\x00\x00\x02\x00\x00\x00\x00ac'
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
   903
  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
   904
  added    p1: c, 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
   905
  ##### revision 2 #####
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
   906
  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
   907
   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
   908
    '\x00\x00\x00\x02\x0c\x00\x00\x00\x01\x00\x00\x00\x00\x06\x00\x00\x00\x02\x00\x00\x00\x00cd'
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
   909
  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
   910
  added    p1: d, 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
   911
  ##### revision 3 #####
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
   912
  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
   913
   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
   914
    '\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
   915
  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
   916
  added    p1: e, 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
   917
  ##### revision 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
   918
  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
   919
   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
   920
    '\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
   921
  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
   922
  added    p1: f, 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
   923
  ##### revision 5 #####
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
   924
  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
   925
   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
   926
    '\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
   927
  touched    : 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
   928
  ##### revision 6 #####
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
   929
  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
   930
   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
   931
    '\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
   932
  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
   933
  ##### revision 7 #####
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
   934
  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
   935
   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
   936
    '\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
   937
  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
   938
  ##### revision 8 #####
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
   939
  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
   940
   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
   941
    '\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
   942
  added      : 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
   943
  ##### revision 9 #####
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
   944
  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
   945
   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
   946
    '\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
   947
  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
   948
  added    p1: g, 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
   949
  ##### revision 10 #####
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
   950
  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
   951
   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
   952
    '\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
   953
  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
   954
  removed    : 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
   955
  ##### revision 11 #####
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
   956
  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
   957
   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
   958
    '\x00\x00\x00\x00'
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
   959
  ##### revision 12 #####
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
   960
  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
   961
   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
   962
    '\x00\x00\x00\x00'
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
   963
  ##### revision 13 #####
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
   964
  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
   965
   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
   966
    '\x00\x00\x00\x00'
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
   967
  ##### revision 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
   968
  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
   969
   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
   970
    '\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
   971
  added      : 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
   972
  ##### revision 15 #####
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
   973
  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
   974
   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
   975
    '\x00\x00\x00\x00'
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
   976
  ##### revision 16 #####
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
   977
  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
   978
   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
   979
    '\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
   980
  added      : 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
   981
  ##### revision 17 #####
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
   982
  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
   983
   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
   984
    '\x00\x00\x00\x00'
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
   985
  ##### revision 18 #####
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
   986
  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
   987
   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
   988
    '\x00\x00\x00\x00'
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
   989
  ##### revision 19 #####
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
   990
  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
   991
   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
   992
    '\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
   993
  merged     : f, ;
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
   994
  ##### revision 20 #####
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
   995
  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
   996
   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
   997
    '\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
   998
  merged     : f, ;
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
   999
  ##### revision 21 #####
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1000
  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
  1001
   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
  1002
    '\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
  1003
  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
  1004
  added    p1: i, 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
  1005
  ##### revision 22 #####
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1006
  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
  1007
   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
  1008
    '\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
  1009
  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
  1010
  removed    : 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
  1011
  ##### revision 23 #####
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1012
  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
  1013
   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
  1014
    '\x00\x00\x00\x00'
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1015
  ##### revision 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
  1016
  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
  1017
   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
  1018
    '\x00\x00\x00\x00'
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1019
  ##### revision 25 #####
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1020
  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
  1021
   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
  1022
    '\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
  1023
  touched    : 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
  1024
  ##### revision 26 #####
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1025
  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
  1026
   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
  1027
    '\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
  1028
  merged     : 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
  1029
  ##### revision 27 #####
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1030
  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
  1031
   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
  1032
    '\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
  1033
  merged     : 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
  1034
  ##### revision 28 #####
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1035
  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
  1036
   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
  1037
    '\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
  1038
  merged     : 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
  1039
  ##### revision 29 #####
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1040
  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
  1041
   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
  1042
    '\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
  1043
  merged     : 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
  1044
  ##### revision 30 #####
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1045
  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
  1046
   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
  1047
    '\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
  1048
  salvaged   : 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
  1049
  ##### revision 31 #####
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1050
  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
  1051
   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
  1052
    '\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
  1053
  salvaged   : 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
  1054
  ##### revision 32 #####
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1055
  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
  1056
   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
  1057
    '\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
  1058
  salvaged   : 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
  1059
  ##### revision 33 #####
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1060
  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
  1061
   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
  1062
    '\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
  1063
  salvaged   : 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
  1064
  ##### revision 34 #####
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  1065
  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
  1066
   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
  1067
    '\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
  1068
  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
  1069
  added    p1: d, 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
  1070
  ##### revision 35 #####
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  1071
  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
  1072
   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
  1073
    '\x00\x00\x00\x00'
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  1074
  ##### revision 36 #####
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  1075
  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
  1076
   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
  1077
    '\x00\x00\x00\x00'
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1078
  ##### revision 37 #####
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1079
  1 sidedata entries
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1080
   entry-0014 size 24
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1081
    '\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
  1082
  added      : unrelated-j, ;
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1083
  ##### revision 38 #####
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1084
  1 sidedata entries
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1085
   entry-0014 size 24
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1086
    '\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
  1087
  added      : unrelated-k, ;
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1088
  ##### revision 39 #####
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1089
  1 sidedata entries
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1090
   entry-0014 size 4
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1091
    '\x00\x00\x00\x00'
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1092
  ##### revision 40 #####
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1093
  1 sidedata entries
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1094
   entry-0014 size 4
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1095
    '\x00\x00\x00\x00'
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1096
  ##### revision 41 #####
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1097
  1 sidedata entries
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1098
   entry-0014 size 4
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1099
    '\x00\x00\x00\x00'
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1100
  ##### revision 42 #####
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1101
  1 sidedata entries
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1102
   entry-0014 size 4
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1103
    '\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
  1104
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1105
#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
  1106
ee3fd9021fac test: move upgrade run and check earlier in test-copies-chain-merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45732
diff changeset
  1107
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
  1108
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
  1109
==============================
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
  1110
46159
929054848d6c copies: properly match result during changeset centric copy tracing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46035
diff changeset
  1111
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
  1112
-------------------------------------------------------------------------
929054848d6c copies: properly match result during changeset centric copy tracing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46035
diff changeset
  1113
929054848d6c copies: properly match result during changeset centric copy tracing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46035
diff changeset
  1114
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
  1115
929054848d6c copies: properly match result during changeset centric copy tracing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46035
diff changeset
  1116
  $ 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
  1117
  A f
929054848d6c copies: properly match result during changeset centric copy tracing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46035
diff changeset
  1118
    a
929054848d6c copies: properly match result during changeset centric copy tracing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46035
diff changeset
  1119
  R a
929054848d6c copies: properly match result during changeset centric copy tracing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46035
diff changeset
  1120
  $ 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
  1121
  A f
929054848d6c copies: properly match result during changeset centric copy tracing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46035
diff changeset
  1122
    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
  1123
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
  1124
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
  1125
---------------------------------------------------------------
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
  1126
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
  1127
- 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
  1128
- 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
  1129
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
  1130
  $ hg log -G --rev '::(desc("mABm")+desc("mBAm"))'
46533
e20977208924 test-copies: improve description of the A+B case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46532
diff changeset
  1131
  o    12 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
  1132
  |\
46533
e20977208924 test-copies: improve description of the A+B case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46532
diff changeset
  1133
  +---o  11 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
  1134
  | |/
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
  1135
  | o  5 b-1: b update
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
  1136
  | |
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
  1137
  o |  4 a-2: e -move-> f
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
  1138
  | |
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
  1139
  o |  3 a-1: d -move-> e
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
  1140
  |/
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
  1141
  o  2 i-2: c -move-> d
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
  1142
  |
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
  1143
  o  1 i-1: a -move-> c
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
  1144
  |
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
  1145
  o  0 i-0 initial commit: a b h
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
  1146
  
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
  1147
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1148
  $ 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
  1149
  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
  1150
    d
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1151
  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
  1152
  $ 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
  1153
  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
  1154
    d
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1155
  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
  1156
  $ 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
  1157
  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
  1158
  $ 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
  1159
  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
  1160
  $ 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
  1161
  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
  1162
  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
  1163
    d
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1164
  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
  1165
  $ 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
  1166
  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
  1167
  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
  1168
    d
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1169
  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
  1170
  $ 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
  1171
  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
  1172
  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
  1173
    a
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1174
  R a
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1175
  $ 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
  1176
  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
  1177
  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
  1178
    a
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1179
  R a
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1180
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1181
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
  1182
-------------------------------------
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1183
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1184
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
  1185
- 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
  1186
- 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
  1187
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
  1188
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1189
  $ hg log -G --rev '::(desc("mCBm")+desc("mBCm"))'
45732
4ffe502673c3 copies: split creation of the graph and actual checking again
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45704
diff changeset
  1190
  o  16 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
  1191
  |
46534
979838adc46b test-copies: improve description of the B+C case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46533
diff changeset
  1192
  o    15 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
  1193
  |\
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
  1194
  | | o  14 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
  1195
  | | |
46534
979838adc46b test-copies: improve description of the B+C case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46533
diff changeset
  1196
  +---o  13 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
  1197
  | |/
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
  1198
  | o  6 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
  1199
  | |
44662
25d97090c6ca copies-tests: remove spurious `]` in the template
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44460
diff changeset
  1200
  o |  5 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
  1201
  |/
44662
25d97090c6ca copies-tests: remove spurious `]` in the template
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44460
diff changeset
  1202
  o  2 i-2: c -move-> 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
  1203
  |
44662
25d97090c6ca copies-tests: remove spurious `]` in the template
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44460
diff changeset
  1204
  o  1 i-1: a -move-> c
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
  1205
  |
44662
25d97090c6ca copies-tests: remove spurious `]` in the template
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44460
diff changeset
  1206
  o  0 i-0 initial commit: a b h
44281
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1207
  
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1208
- 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
  1209
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1210
  $ 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
  1211
  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
  1212
  $ 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
  1213
  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
  1214
  $ 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
  1215
  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
  1216
  $ 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
  1217
  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
  1218
  $ 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
  1219
  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
  1220
  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
  1221
  $ 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
  1222
  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
  1223
  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
  1224
  $ 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
  1225
  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
  1226
  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
  1227
  $ 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
  1228
  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
  1229
  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
  1230
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1231
- 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
  1232
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1233
  $ 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
  1234
  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
  1235
  $ 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
  1236
  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
  1237
  $ 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
  1238
  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
  1239
  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
  1240
  $ 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
  1241
  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
  1242
  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
  1243
  $ 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
  1244
  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
  1245
  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
  1246
  $ 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
  1247
  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
  1248
  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
  1249
  $ 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
  1250
  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
  1251
  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
  1252
  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
  1253
  $ 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
  1254
  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
  1255
  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
  1256
  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
  1257
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1258
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
  1259
---------------------------------------------------
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1260
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1261
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
  1262
- 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
  1263
- 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
  1264
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1265
  $ hg log -G --rev '::(desc("mDBm")+desc("mBDm"))'
46535
9a58f9eed303 test-copies: improve description of the B+D case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46534
diff changeset
  1266
  o    18 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
  1267
  |\
46535
9a58f9eed303 test-copies: improve description of the B+D case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46534
diff changeset
  1268
  +---o  17 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
  1269
  | |/
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1270
  | o  8 d-2 re-add d
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1271
  | |
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1272
  | o  7 d-1 delete d
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1273
  | |
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1274
  o |  5 b-1: b update
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1275
  |/
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1276
  o  2 i-2: c -move-> d
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1277
  |
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1278
  o  1 i-1: a -move-> c
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1279
  |
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1280
  o  0 i-0 initial commit: a b h
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1281
  
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
  1282
  $ 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
  1283
  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
  1284
  $ 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
  1285
  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
  1286
  $ 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
  1287
  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
  1288
  $ 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
  1289
  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
  1290
  $ 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
  1291
  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
  1292
  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
  1293
  $ 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
  1294
  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
  1295
  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
  1296
44454
b8882f5d7cb4 copies-tests: update the analysis of the BD/DB cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44453
diff changeset
  1297
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
  1298
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1299
  $ 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
  1300
  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
  1301
  $ 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
  1302
  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
  1303
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1304
  $ 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
  1305
  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
  1306
  $ 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
  1307
  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
  1308
  ae258f702dfeca05bf9b6a22a97a4b5645570f11 644   d (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
  1309
  $ hg debugindex d | head -n 4
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
  1310
     rev linkrev nodeid       p1           p2
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
  1311
       0       2 d8252ab2e760 000000000000 000000000000 (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
  1312
       0       2 ae258f702dfe 000000000000 000000000000 (changeset !)
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
  1313
       1       8 b004912a8510 000000000000 000000000000
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
  1314
       2      22 7b79e2fe0c89 000000000000 000000000000 (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
  1315
       2      25 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
  1316
45653
a357688e3c9c tests: update/remove outdated comments in test-copies-chain-merge.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 45461
diff changeset
  1317
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
  1318
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
  1319
  $ hg log -Gfr 'desc("mBDm-0")' d
44687
1b8fd4af3318 mergestate: store about files resolved in favour of other
Pulkit Goyal <7895pulkit@gmail.com>
parents: 44678
diff changeset
  1320
  o  8 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
  1321
  |
44687
1b8fd4af3318 mergestate: store about files resolved in favour of other
Pulkit Goyal <7895pulkit@gmail.com>
parents: 44678
diff changeset
  1322
  ~
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
  1323
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1324
  $ hg log -Gfr 'desc("mDBm-0")' 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
  1325
  o  8 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
  1326
  |
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1327
  ~
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1328
f9dfb56ed6e8 copies: add a new test dedicated to testing chain of changeset with merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
  1329
  $ 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
  1330
  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
  1331
  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
  1332
  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
  1333
  $ 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
  1334
  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
  1335
  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
  1336
  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
  1337
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1338
44455
275365d85e3f copies-tests: clarify the description of the EA/AE cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44454
diff changeset
  1339
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
  1340
--------------------------------------------
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
  1341
46543
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46542
diff changeset
  1342
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
  1343
``````````````````````````````````````````
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46542
diff changeset
  1344
44455
275365d85e3f copies-tests: clarify the description of the EA/AE cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44454
diff changeset
  1345
- 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
  1346
- 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
  1347
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1348
  $ hg log -G --rev '::(desc("mAEm")+desc("mEAm"))'
46536
19f490690880 test-copies: improve description of the A+E case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46535
diff changeset
  1349
  o    20 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
  1350
  |\
46536
19f490690880 test-copies: improve description of the A+E case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46535
diff changeset
  1351
  +---o  19 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
  1352
  | |/
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1353
  | o  10 e-2 g -move-> f
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1354
  | |
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1355
  | o  9 e-1 b -move-> g
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1356
  | |
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1357
  o |  4 a-2: e -move-> f
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1358
  | |
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1359
  o |  3 a-1: d -move-> e
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1360
  |/
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1361
  o  2 i-2: c -move-> d
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1362
  |
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1363
  o  1 i-1: a -move-> c
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1364
  |
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1365
  o  0 i-0 initial commit: a b h
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1366
  
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  1367
#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
  1368
  $ 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
  1369
  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
  1370
  $ 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
  1371
  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
  1372
  $ 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
  1373
  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
  1374
  $ 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
  1375
  e8825b386367b29fec957283a80bb47b47483fe1 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
  1376
  $ hg debugindex 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
  1377
     rev linkrev nodeid       p1           p2
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
  1378
       0       4 b76eb76580df 000000000000 000000000000
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46527
diff changeset
  1379
       1      10 e8825b386367 000000000000 000000000000
d46885119f90 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46527
diff changeset
  1380
       2      19 2ff93c643948 b76eb76580df e8825b386367
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  1381
#else
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  1382
  $ 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
  1383
  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
  1384
  $ 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
  1385
  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
  1386
  $ 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
  1387
  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
  1388
  $ 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
  1389
  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
  1390
  $ hg debugindex f
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  1391
     rev linkrev nodeid       p1           p2
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
  1392
       0       4 ae258f702dfe 000000000000 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
  1393
#endif
44758
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  1394
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  1395
# 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
  1396
# 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
  1397
# 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
  1398
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
  1399
  $ 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
  1400
  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
  1401
    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
  1402
  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
  1403
  $ 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
  1404
  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
  1405
    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
  1406
  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
  1407
  $ 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
  1408
  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
  1409
    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
  1410
  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
  1411
  $ 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
  1412
  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
  1413
    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
  1414
  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
  1415
  $ 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
  1416
  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
  1417
    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
  1418
  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
  1419
  $ 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
  1420
  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
  1421
    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
  1422
  R b
44758
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  1423
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  1424
# 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
  1425
#
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  1426
# 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
  1427
# 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
  1428
# 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
  1429
# 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
  1430
#
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  1431
# 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
  1432
# 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
  1433
# 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
  1434
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
  1435
  $ 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
  1436
  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
  1437
    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
  1438
  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
  1439
  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
  1440
  $ 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
  1441
  A f
44758
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  1442
    d (filelog !)
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  1443
    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
  1444
  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
  1445
  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
  1446
  $ 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
  1447
  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
  1448
    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
  1449
  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
  1450
  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
  1451
  $ 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
  1452
  A f
44758
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  1453
    a (filelog !)
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  1454
    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
  1455
  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
  1456
  R b
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
  1457
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1458
46543
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46542
diff changeset
  1459
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
  1460
````````````````````````````````````````````````````````````
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46542
diff changeset
  1461
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1462
Note:
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1463
| 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
  1464
| 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
  1465
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1466
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
  1467
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
  1468
- 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
  1469
- 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
  1470
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1471
  $ hg log -G --rev '::(desc("mBFm")+desc("mFBm"))'
46542
f8888f5c8c50 test-copies: improve description of the B+F case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46541
diff changeset
  1472
  o    24 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
  1473
  |\
46542
f8888f5c8c50 test-copies: improve description of the B+F case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46541
diff changeset
  1474
  +---o  23 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
  1475
  | |/
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1476
  | o  22 f-2: rename i -> d
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1477
  | |
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1478
  | o  21 f-1: rename h -> i
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1479
  | |
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1480
  o |  5 b-1: b update
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1481
  |/
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1482
  o  2 i-2: c -move-> d
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1483
  |
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1484
  o  1 i-1: a -move-> c
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1485
  |
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1486
  o  0 i-0 initial commit: a b h
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1487
  
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
  1488
  $ 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
  1489
  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
  1490
  A d
44687
1b8fd4af3318 mergestate: store about files resolved in favour of other
Pulkit Goyal <7895pulkit@gmail.com>
parents: 44678
diff changeset
  1491
    h
44458
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
  1492
  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
  1493
  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
  1494
  $ 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
  1495
  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
  1496
  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
  1497
    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
  1498
  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
  1499
  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
  1500
  $ 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
  1501
  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
  1502
    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
  1503
  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
  1504
  $ 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
  1505
  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
  1506
  $ 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
  1507
  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
  1508
  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
  1509
    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
  1510
  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
  1511
  $ 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
  1512
  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
  1513
    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
  1514
  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
  1515
  $ 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
  1516
  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
  1517
  $ 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
  1518
  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
  1519
  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
  1520
    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
  1521
  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
  1522
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  1523
#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
  1524
  $ hg log -Gfr 'desc("mBFm-0")' d
44687
1b8fd4af3318 mergestate: store about files resolved in favour of other
Pulkit Goyal <7895pulkit@gmail.com>
parents: 44678
diff changeset
  1525
  o  22 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
  1526
  |
44687
1b8fd4af3318 mergestate: store about files resolved in favour of other
Pulkit Goyal <7895pulkit@gmail.com>
parents: 44678
diff changeset
  1527
  o  21 f-1: rename h -> i
1b8fd4af3318 mergestate: store about files resolved in favour of other
Pulkit Goyal <7895pulkit@gmail.com>
parents: 44678
diff changeset
  1528
  :
44662
25d97090c6ca copies-tests: remove spurious `]` in the template
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44460
diff changeset
  1529
  o  0 i-0 initial commit: a b h
44458
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
  1530
  
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  1531
#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
  1532
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
  1533
  $ hg log -Gfr 'desc("mBFm-0")' 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
  1534
  o  2 i-2: c -move-> 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
  1535
  |
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  1536
  ~
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  1537
#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
  1538
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  1539
#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
  1540
  $ hg log -Gfr 'desc("mFBm-0")' d
44662
25d97090c6ca copies-tests: remove spurious `]` in the template
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44460
diff changeset
  1541
  o  22 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
  1542
  |
44662
25d97090c6ca copies-tests: remove spurious `]` in the template
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44460
diff changeset
  1543
  o  21 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
  1544
  :
44662
25d97090c6ca copies-tests: remove spurious `]` in the template
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44460
diff changeset
  1545
  o  0 i-0 initial commit: a b h
44458
890def17d03b copies-tests: add a test with a rename overwriting another file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44457
diff changeset
  1546
  
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  1547
#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
  1548
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
  1549
  $ hg log -Gfr 'desc("mFBm-0")' 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
  1550
  o  2 i-2: c -move-> 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
  1551
  |
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  1552
  ~
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  1553
#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
  1554
46543
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46542
diff changeset
  1555
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
  1556
``````````````````````````````````````````````
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1557
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
  1558
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
  1559
- 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
  1560
- 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
  1561
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1562
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
  1563
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
  1564
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1565
  $ hg log -G --rev '::(desc("mDGm")+desc("mGDm"))'
46537
1e96fdcc8bc1 test-copies: improve description of the D+G case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46536
diff changeset
  1566
  o    27 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
  1567
  |\
46537
1e96fdcc8bc1 test-copies: improve description of the D+G case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46536
diff changeset
  1568
  +---o  26 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
  1569
  | |/
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1570
  | o  25 g-1: update d
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1571
  | |
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1572
  o |  8 d-2 re-add d
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1573
  | |
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1574
  o |  7 d-1 delete d
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1575
  |/
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1576
  o  2 i-2: c -move-> d
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1577
  |
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1578
  o  1 i-1: a -move-> c
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1579
  |
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1580
  o  0 i-0 initial commit: a b h
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1581
  
44758
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  1582
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
  1583
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
  1584
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  1585
(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
  1586
revision numbers)
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  1587
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
  1588
  $ 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
  1589
  A d
44758
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  1590
    a (filelog !)
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
  1591
  R a
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
  1592
  $ 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
  1593
  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
  1594
    a
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
  1595
  R a
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
  1596
  $ 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
  1597
  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
  1598
  $ 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
  1599
  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
  1600
  $ 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
  1601
  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
  1602
  $ 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
  1603
  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
  1604
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  1605
#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
  1606
  $ hg log -Gfr 'desc("mDGm-0")' d
46538
2f99dedf96b1 test-copies: improve description of the G+F case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46537
diff changeset
  1607
  o    26 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
  1608
  |\
44662
25d97090c6ca copies-tests: remove spurious `]` in the template
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44460
diff changeset
  1609
  | o  25 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
  1610
  | |
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
  1611
  o |  8 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
  1612
  |/
44662
25d97090c6ca copies-tests: remove spurious `]` in the template
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44460
diff changeset
  1613
  o  2 i-2: c -move-> 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
  1614
  |
44662
25d97090c6ca copies-tests: remove spurious `]` in the template
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44460
diff changeset
  1615
  o  1 i-1: a -move-> c
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
  1616
  |
44662
25d97090c6ca copies-tests: remove spurious `]` in the template
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44460
diff changeset
  1617
  o  0 i-0 initial commit: a b h
44459
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
  1618
  
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  1619
#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
  1620
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
  1621
  $ hg log -Gfr 'desc("mDGm-0")' d
46537
1e96fdcc8bc1 test-copies: improve description of the D+G case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46536
diff changeset
  1622
  o    26 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
  1623
  |\
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  1624
  | o  25 g-1: update d
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  1625
  | |
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  1626
  o |  8 d-2 re-add d
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  1627
  |/
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  1628
  o  2 i-2: c -move-> d
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  1629
  |
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  1630
  ~
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  1631
#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
  1632
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
  1633
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  1634
#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
  1635
  $ hg log -Gfr 'desc("mDGm-0")' d
46538
2f99dedf96b1 test-copies: improve description of the G+F case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46537
diff changeset
  1636
  o    26 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
  1637
  |\
44662
25d97090c6ca copies-tests: remove spurious `]` in the template
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44460
diff changeset
  1638
  | o  25 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
  1639
  | |
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
  1640
  o |  8 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
  1641
  |/
44662
25d97090c6ca copies-tests: remove spurious `]` in the template
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44460
diff changeset
  1642
  o  2 i-2: c -move-> 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
  1643
  |
44662
25d97090c6ca copies-tests: remove spurious `]` in the template
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44460
diff changeset
  1644
  o  1 i-1: a -move-> c
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
  1645
  |
44662
25d97090c6ca copies-tests: remove spurious `]` in the template
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44460
diff changeset
  1646
  o  0 i-0 initial commit: a b h
44459
6f1f4a6f4168 copies-tests: add a case where a file is deleted/added but with a merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44458
diff changeset
  1647
  
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  1648
#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
  1649
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
  1650
  $ hg log -Gfr 'desc("mDGm-0")' d
46537
1e96fdcc8bc1 test-copies: improve description of the D+G case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46536
diff changeset
  1651
  o    26 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
  1652
  |\
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  1653
  | o  25 g-1: update d
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  1654
  | |
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  1655
  o |  8 d-2 re-add d
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  1656
  |/
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  1657
  o  2 i-2: c -move-> d
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  1658
  |
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  1659
  ~
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  1660
#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
  1661
46543
f01696d45d1e test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46542
diff changeset
  1662
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
  1663
````````````````````````````````````````````````````````````````````````````````````````````
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
  1664
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
  1665
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
  1666
- 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
  1667
- 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
  1668
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
  1669
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
  1670
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
  1671
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
  1672
44678
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1673
  $ hg log -G --rev '::(desc("mGFm")+desc("mFGm"))'
46538
2f99dedf96b1 test-copies: improve description of the G+F case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46537
diff changeset
  1674
  o    29 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
  1675
  |\
46538
2f99dedf96b1 test-copies: improve description of the G+F case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46537
diff changeset
  1676
  +---o  28 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
  1677
  | |/
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1678
  | o  25 g-1: update d
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1679
  | |
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1680
  o |  22 f-2: rename i -> d
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1681
  | |
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1682
  o |  21 f-1: rename h -> i
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1683
  |/
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1684
  o  2 i-2: c -move-> d
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1685
  |
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1686
  o  1 i-1: a -move-> c
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1687
  |
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1688
  o  0 i-0 initial commit: a b h
806f1f1ba430 tests: move verification closer to setup in test-copies-chain-merge.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 44677
diff changeset
  1689
  
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
  1690
1d6aac94e6d5 copies: explain the "arbitrary" copy source pick in case of conflict
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46159
diff changeset
  1691
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
  1692
| 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
  1693
| "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
  1694
|
1d6aac94e6d5 copies: explain the "arbitrary" copy source pick in case of conflict
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46159
diff changeset
  1695
| 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
  1696
1d6aac94e6d5 copies: explain the "arbitrary" copy source pick in case of conflict
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46159
diff changeset
  1697
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
  1698
1d6aac94e6d5 copies: explain the "arbitrary" copy source pick in case of conflict
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46159
diff changeset
  1699
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
  1700
1d6aac94e6d5 copies: explain the "arbitrary" copy source pick in case of conflict
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46159
diff changeset
  1701
  $ 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
  1702
  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
  1703
  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
  1704
  $ 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
  1705
  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
  1706
    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
  1707
1d6aac94e6d5 copies: explain the "arbitrary" copy source pick in case of conflict
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46159
diff changeset
  1708
  $ 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
  1709
  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
  1710
  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
  1711
  $ 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
  1712
  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
  1713
    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
  1714
1d6aac94e6d5 copies: explain the "arbitrary" copy source pick in case of conflict
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46159
diff changeset
  1715
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
  1716
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
  1717
  $ 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
  1718
  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
  1719
    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
  1720
    a (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
  1721
  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
  1722
  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
  1723
  $ 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
  1724
  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
  1725
    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
  1726
    h (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
  1727
  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
  1728
  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
  1729
  $ 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
  1730
  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
  1731
  $ 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
  1732
  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
  1733
  $ 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
  1734
  M d
44758
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  1735
    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
  1736
  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
  1737
  $ 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
  1738
  M d
44758
45f3f35cefe7 copies: fix the changeset based algorithm regarding merge
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44687
diff changeset
  1739
    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
  1740
  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
  1741
  $ 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
  1742
  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
  1743
    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
  1744
  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
  1745
  $ 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
  1746
  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
  1747
    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
  1748
  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
  1749
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  1750
#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
  1751
  $ hg log -Gfr 'desc("mFGm-0")' d
46538
2f99dedf96b1 test-copies: improve description of the G+F case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46537
diff changeset
  1752
  o    28 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
  1753
  |\
44662
25d97090c6ca copies-tests: remove spurious `]` in the template
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44460
diff changeset
  1754
  | o  25 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
  1755
  | |
44662
25d97090c6ca copies-tests: remove spurious `]` in the template
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44460
diff changeset
  1756
  o |  22 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
  1757
  | |
44662
25d97090c6ca copies-tests: remove spurious `]` in the template
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44460
diff changeset
  1758
  o |  21 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
  1759
  |/
44662
25d97090c6ca copies-tests: remove spurious `]` in the template
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44460
diff changeset
  1760
  o  2 i-2: c -move-> 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
  1761
  |
44662
25d97090c6ca copies-tests: remove spurious `]` in the template
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44460
diff changeset
  1762
  o  1 i-1: a -move-> c
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
  1763
  |
44662
25d97090c6ca copies-tests: remove spurious `]` in the template
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44460
diff changeset
  1764
  o  0 i-0 initial commit: a b h
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  1765
  
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  1766
#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
  1767
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
  1768
  $ hg log -Gfr 'desc("mFGm-0")' 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
  1769
  o  25 g-1: update d
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
  1770
  |
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  1771
  o  2 i-2: c -move-> d
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  1772
  |
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  1773
  ~
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  1774
#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
  1775
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  1776
#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
  1777
  $ hg log -Gfr 'desc("mGFm-0")' d
46538
2f99dedf96b1 test-copies: improve description of the G+F case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46537
diff changeset
  1778
  o    29 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
  1779
  |\
44662
25d97090c6ca copies-tests: remove spurious `]` in the template
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44460
diff changeset
  1780
  | o  25 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
  1781
  | |
44662
25d97090c6ca copies-tests: remove spurious `]` in the template
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44460
diff changeset
  1782
  o |  22 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
  1783
  | |
44662
25d97090c6ca copies-tests: remove spurious `]` in the template
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44460
diff changeset
  1784
  o |  21 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
  1785
  |/
44662
25d97090c6ca copies-tests: remove spurious `]` in the template
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44460
diff changeset
  1786
  o  2 i-2: c -move-> 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
  1787
  |
44662
25d97090c6ca copies-tests: remove spurious `]` in the template
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44460
diff changeset
  1788
  o  1 i-1: a -move-> c
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
  1789
  |
44662
25d97090c6ca copies-tests: remove spurious `]` in the template
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44460
diff changeset
  1790
  o  0 i-0 initial commit: a b h
44460
c8fd21413458 copies-tests: add a case where with merge with an overwritten files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44459
diff changeset
  1791
  
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  1792
#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
  1793
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
  1794
  $ hg log -Gfr 'desc("mGFm-0")' 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
  1795
  o  25 g-1: update d
018d622e814d test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46479
diff changeset
  1796
  |
45704
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  1797
  o  2 i-2: c -move-> d
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  1798
  |
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  1799
  ~
5e72827dae1e tests: run test-copies-chain-merge.t also with copies in changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 45702
diff changeset
  1800
#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
  1801
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
  1802
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
  1803
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
  1804
-------------------------------------------------------------
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
  1805
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
  1806
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
  1807
- 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
  1808
- 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
  1809
- 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
  1810
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
  1811
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
  1812
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
  1813
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
  1814
  $ hg log -G --rev '::(desc("mCGm")+desc("mGCm"))'
46539
a1a06dca6941 test-copies: improve description of the G+C case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46538
diff changeset
  1815
  o    31 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
  1816
  |\
46539
a1a06dca6941 test-copies: improve description of the G+C case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46538
diff changeset
  1817
  +---o  30 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
  1818
  | |/
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
  1819
  | o  25 g-1: update 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
  1820
  | |
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
  1821
  o |  6 c-1 delete 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
  1822
  |/
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
  1823
  o  2 i-2: c -move-> 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
  1824
  |
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
  1825
  o  1 i-1: a -move-> c
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
  1826
  |
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
  1827
  o  0 i-0 initial commit: a b h
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
  1828
  
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
  1829
45670
a8fb29b05f92 salvaged: properly deal with salvaged file during copy tracing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45669
diff changeset
  1830
'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
  1831
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
  1832
  $ 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
  1833
  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
  1834
    a (no-compatibility no-changeset !)
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
  1835
  R a
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
  1836
  $ 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
  1837
  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
  1838
    a (no-compatibility no-changeset !)
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
  1839
  R a
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
  1840
  $ 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
  1841
  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
  1842
  $ 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
  1843
  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
  1844
  $ 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
  1845
  $ 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
  1846
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  1847
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  1848
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
  1849
--------------------------------------------------------
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  1850
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  1851
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
  1852
- 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
  1853
- 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
  1854
- 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
  1855
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  1856
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
  1857
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
  1858
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  1859
  $ hg log -G --rev '::(desc("mCB-revert-m")+desc("mBC-revert-m"))'
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
  1860
  o    33 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
  1861
  |\
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
  1862
  +---o  32 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
  1863
  | |/
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  1864
  | o  6 c-1 delete 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
  1865
  | |
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  1866
  o |  5 b-1: b update
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  1867
  |/
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  1868
  o  2 i-2: c -move-> 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
  1869
  |
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  1870
  o  1 i-1: a -move-> c
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  1871
  |
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  1872
  o  0 i-0 initial commit: a b h
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  1873
  
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  1874
45670
a8fb29b05f92 salvaged: properly deal with salvaged file during copy tracing
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45669
diff changeset
  1875
'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
  1876
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  1877
  $ 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
  1878
  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
  1879
  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
  1880
    a (no-compatibility no-changeset !)
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
  1881
  R a
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  1882
  $ 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
  1883
  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
  1884
  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
  1885
    a (no-compatibility no-changeset !)
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
  1886
  R a
14be07d5603c copy-tracing: test case where a merge reverted a file deletion
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45460
diff changeset
  1887
  $ 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
  1888
  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
  1889
  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
  1890
  $ 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
  1891
  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
  1892
  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
  1893
  $ 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
  1894
  $ 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
  1895
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  1896
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  1897
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
  1898
------------------------------------------------------------------------------------------
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  1899
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  1900
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
  1901
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
  1902
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  1903
(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
  1904
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  1905
  $ hg log -G --rev '::(desc("mCH-delete-before-conflict-m")+desc("mHC-delete-before-conflict-m"))'
46541
60c52bdb1784 test-copies: improve description of the C+H case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46540
diff changeset
  1906
  o    36 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
  1907
  |\
46541
60c52bdb1784 test-copies: improve description of the C+H case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46540
diff changeset
  1908
  +---o  35 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
  1909
  | |/
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  1910
  | o  34 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
  1911
  | |
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  1912
  o |  6 c-1 delete 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
  1913
  | |
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  1914
  o |  2 i-2: c -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
  1915
  | |
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  1916
  o |  1 i-1: a -move-> c
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  1917
  |/
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  1918
  o  0 i-0 initial commit: a b h
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  1919
  
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  1920
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  1921
  $ 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
  1922
  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
  1923
    b (no-compatibility no-changeset !)
ff7e0ca666e8 copies: make sure deleted copy info do not overwriting unrelated ones
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45778
diff changeset
  1924
  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
  1925
  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
  1926
  $ 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
  1927
  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
  1928
    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
  1929
  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
  1930
  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
  1931
  $ 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
  1932
  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
  1933
    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
  1934
  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
  1935
  $ 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
  1936
  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
  1937
    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
  1938
  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
  1939
  $ hg status --copies --rev 'desc("h-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
  1940
  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
  1941
  $ hg status --copies --rev 'desc("h-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
  1942
  R a
46544
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1943
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1944
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
  1945
------------------------------------------------------------------
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1946
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1947
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1948
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
  1949
```````````````````````````````````````````````
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1950
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1951
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
  1952
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
  1953
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
  1954
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
  1955
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1956
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
  1957
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1958
  $ 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
  1959
  A f
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1960
    a (filelog !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1961
    a (sidedata !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1962
    a (upgraded !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1963
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1964
  $ 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
  1965
  A f
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1966
    a (filelog !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1967
    a (sidedata !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1968
    a (upgraded !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1969
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1970
  $ 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
  1971
  A f
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1972
    a (filelog !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1973
    a (missing-correct-output sidedata !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1974
    a (missing-correct-output upgraded !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1975
    b (known-bad-output sidedata !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1976
    b (known-bad-output upgraded !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1977
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1978
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1979
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
  1980
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1981
  $ 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
  1982
  A f
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1983
    a (filelog !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1984
    b (sidedata !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1985
    b (upgraded !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1986
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1987
  $ 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
  1988
  A f
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1989
    a (filelog !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1990
    b (sidedata !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1991
    b (upgraded !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1992
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1993
  $ 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
  1994
  A f
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1995
    a (filelog !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1996
    b (missing-correct-output sidedata !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1997
    b (missing-correct-output upgraded !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1998
    a (known-bad-output sidedata !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  1999
    a (known-bad-output upgraded !)
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2000
fbc466484fc3 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46543
diff changeset
  2001