tests/test-rename-after-merge.t
author Gregory Szorc <gregory.szorc@gmail.com>
Mon, 12 Mar 2018 15:49:02 -0700
changeset 37007 143219fc2620
parent 34661 eb586ed5d8ce
child 38171 eb9835014d20
permissions -rw-r--r--
debugcommands: introduce actions to perform deterministic reads "readavailable" is useful as a debugging device to see what data is available on a pipe. But the mechanism isn't deterministic because what's available on a pipe is highly conditional on timing, system load, OS behavior, etc. This makes it not suitable for tests. We introduce "ereadline," "read," and "eread" for performing deterministic I/O operations (at least on blocking file descriptors). We stop short of converting existing consumers of "readavailable" in tests because we're working out race conditions and deadlocks on Windows. But the goal is to eventually move tests away from "readavailable" to these new APIs. Differential Revision: https://phab.mercurial-scm.org/D2720
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
12399
4fee1fd3de9a tests: added a short description to issue numbers
Martin Geisler <mg@aragost.com>
parents: 12328
diff changeset
     1
Issue746: renaming files brought by the second parent of a merge was
4fee1fd3de9a tests: added a short description to issue numbers
Martin Geisler <mg@aragost.com>
parents: 12328
diff changeset
     2
broken.
5318
c6682cdada2f Test renaming files brought by merge second parent (issue 746)
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
     3
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
     4
Create source repository:
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
     5
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
     6
  $ hg init t
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
     7
  $ cd t
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
     8
  $ echo a > a
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
     9
  $ hg ci -Am a
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
    10
  adding a
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
    11
  $ cd ..
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
    12
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
    13
Fork source repository:
5318
c6682cdada2f Test renaming files brought by merge second parent (issue 746)
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    14
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
    15
  $ hg clone t t2
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
    16
  updating to branch default
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
    17
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
    18
  $ cd t2
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
    19
  $ echo b > b
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
    20
  $ hg ci -Am b
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
    21
  adding b
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
    22
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
    23
Update source repository:
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
    24
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
    25
  $ cd ../t
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
    26
  $ echo a >> a
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
    27
  $ hg ci -m a2
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
    28
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
    29
Merge repositories:
5318
c6682cdada2f Test renaming files brought by merge second parent (issue 746)
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    30
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
    31
  $ hg pull ../t2
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
    32
  pulling from ../t2
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
    33
  searching for changes
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
    34
  adding changesets
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
    35
  adding manifests
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
    36
  adding file changes
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
    37
  added 1 changesets with 1 changes to 1 files (+1 heads)
34661
eb586ed5d8ce transaction-summary: show the range of new revisions upon pull/unbundle (BC)
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 16913
diff changeset
    38
  new changesets d2ae7f538514
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
    39
  (run 'hg heads' to see heads, 'hg merge' to merge)
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
    40
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
    41
  $ hg merge
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
    42
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
    43
  (branch merge, don't forget to commit)
5318
c6682cdada2f Test renaming files brought by merge second parent (issue 746)
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    44
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
    45
  $ hg st
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
    46
  M b
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
    47
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
    48
Rename b as c:
5318
c6682cdada2f Test renaming files brought by merge second parent (issue 746)
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    49
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
    50
  $ hg mv b c
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
    51
  $ hg st
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
    52
  A c
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
    53
  R b
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
    54
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
    55
Rename back c as b:
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
    56
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
    57
  $ hg mv c b
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
    58
  $ hg st
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
    59
  M b
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
    60
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
    61
  $ cd ..
7689
d821ea464465 Fix a corner case when committing a rename after a merge (issue1476)
Patrick Mezard <pmezard@gmail.com>
parents: 5608
diff changeset
    62
12399
4fee1fd3de9a tests: added a short description to issue numbers
Martin Geisler <mg@aragost.com>
parents: 12328
diff changeset
    63
Issue 1476: renaming a first parent file into another first parent
4fee1fd3de9a tests: added a short description to issue numbers
Martin Geisler <mg@aragost.com>
parents: 12328
diff changeset
    64
file while none of them belong to the second parent was broken
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
    65
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
    66
  $ hg init repo1476
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
    67
  $ cd repo1476
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
    68
  $ echo a > a
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
    69
  $ hg ci -Am adda
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
    70
  adding a
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
    71
  $ echo b1 > b1
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
    72
  $ echo b2 > b2
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
    73
  $ hg ci -Am changea
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
    74
  adding b1
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
    75
  adding b2
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
    76
  $ hg up -C 0
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
    77
  0 files updated, 0 files merged, 2 files removed, 0 files unresolved
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
    78
  $ echo c1 > c1
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
    79
  $ echo c2 > c2
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
    80
  $ hg ci -Am addcandd
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
    81
  adding c1
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
    82
  adding c2
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
    83
  created new head
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
    84
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
    85
Merge heads:
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
    86
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
    87
  $ hg merge
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
    88
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
    89
  (branch merge, don't forget to commit)
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
    90
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
    91
  $ hg mv -Af c1 c2
7689
d821ea464465 Fix a corner case when committing a rename after a merge (issue1476)
Patrick Mezard <pmezard@gmail.com>
parents: 5608
diff changeset
    92
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
    93
Commit issue 1476:
7689
d821ea464465 Fix a corner case when committing a rename after a merge (issue1476)
Patrick Mezard <pmezard@gmail.com>
parents: 5608
diff changeset
    94
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
    95
  $ hg ci -m merge
7689
d821ea464465 Fix a corner case when committing a rename after a merge (issue1476)
Patrick Mezard <pmezard@gmail.com>
parents: 5608
diff changeset
    96
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
    97
  $ hg log -r tip -C -v | grep copies
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
    98
  copies:      c2 (c1)
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
    99
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
   100
  $ hg rollback
13446
1e497df514e2 rollback: clarifies the message about the reverted state (issue2628)
Gilles Moris <gilles.moris@free.fr>
parents: 12399
diff changeset
   101
  repository tip rolled back to revision 2 (undo commit)
13455
053c042118bc rollback, i18n: avoid parameterized message
Wagner Bruna <wbruna@softwareexpress.com.br>
parents: 13446
diff changeset
   102
  working directory now based on revisions 2 and 1
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
   103
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
   104
  $ hg up -C .
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
   105
  2 files updated, 0 files merged, 2 files removed, 0 files unresolved
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
   106
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
   107
Merge heads again:
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
   108
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
   109
  $ hg merge
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
   110
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
   111
  (branch merge, don't forget to commit)
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
   112
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
   113
  $ hg mv -Af b1 b2
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
   114
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
   115
Commit issue 1476 with a rename on the other side:
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
   116
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
   117
  $ hg ci -m merge
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
   118
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
   119
  $ hg log -r tip -C -v | grep copies
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
   120
  copies:      b2 (b1)
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 7689
diff changeset
   121
16913
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 13455
diff changeset
   122
  $ cd ..