tests/test-rebase-brute-force.t
author Matt Harbison <matt_harbison@yahoo.com>
Sat, 24 Mar 2018 01:30:50 -0400
changeset 37104 656ac240f392
parent 34867 7f183c643eb6
permissions -rw-r--r--
context: skip path conflicts by default when clearing unknown file (issue5776) Prior to adding path conflict checking in 989e884d1be9, the test-audit-path.t tests failed as shown here (but it was globbed away). 989e884d1be9 made it fail with a message about the destination manifest containing a conflict (though the no-symlink case wasn't updated). When the path conflict checking was gated behind an experimental config in 2a774cae3a03^::2a774cae3a03, the update started erroneously succeeding here. It turns out that the child of 989e884d1be9 is the origin of this change when path conflict checking is disabled, as shown by grafting the experimental config range on top of it. What's happening here is merge.batchget() is writing the symlink 'back' to wdir (but as a regular file for the no-symlink case), and then tries to write 'back/test', but calls wctx['back/test'].clearunknown() first. The code that's gated here was removing the newly written 'back' file, allowing 'back/test' to succeed. I tried checking for the dir components of 'back/test' in dirstate, and skipping removal if present. But that didn't work because the dirstate isn't updated after each file is written out. This is the last persistent test failure on Windows, so the testbot should start turning green now. \o/
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
33734
71b77b61ed60 test-rebase: add a brute force test
Jun Wu <quark@fb.com>
parents:
diff changeset
     1
  $ cat >> $HGRCPATH <<EOF
71b77b61ed60 test-rebase: add a brute force test
Jun Wu <quark@fb.com>
parents:
diff changeset
     2
  > [extensions]
71b77b61ed60 test-rebase: add a brute force test
Jun Wu <quark@fb.com>
parents:
diff changeset
     3
  > drawdag=$TESTDIR/drawdag.py
71b77b61ed60 test-rebase: add a brute force test
Jun Wu <quark@fb.com>
parents:
diff changeset
     4
  > bruterebase=$TESTDIR/bruterebase.py
71b77b61ed60 test-rebase: add a brute force test
Jun Wu <quark@fb.com>
parents:
diff changeset
     5
  > [experimental]
34866
1644623ab096 config: use 'experimental.evolution.create-markers'
Boris Feld <boris.feld@octobus.net>
parents: 33810
diff changeset
     6
  > evolution.createmarkers=True
34867
7f183c643eb6 config: use 'experimental.evolution.allowunstable'
Boris Feld <boris.feld@octobus.net>
parents: 34866
diff changeset
     7
  > evolution.allowunstable=True
33734
71b77b61ed60 test-rebase: add a brute force test
Jun Wu <quark@fb.com>
parents:
diff changeset
     8
  > EOF
71b77b61ed60 test-rebase: add a brute force test
Jun Wu <quark@fb.com>
parents:
diff changeset
     9
  $ init() {
71b77b61ed60 test-rebase: add a brute force test
Jun Wu <quark@fb.com>
parents:
diff changeset
    10
  >   N=`expr ${N:-0} + 1`
71b77b61ed60 test-rebase: add a brute force test
Jun Wu <quark@fb.com>
parents:
diff changeset
    11
  >   cd $TESTTMP && hg init repo$N && cd repo$N
71b77b61ed60 test-rebase: add a brute force test
Jun Wu <quark@fb.com>
parents:
diff changeset
    12
  >   hg debugdrawdag
71b77b61ed60 test-rebase: add a brute force test
Jun Wu <quark@fb.com>
parents:
diff changeset
    13
  > }
71b77b61ed60 test-rebase: add a brute force test
Jun Wu <quark@fb.com>
parents:
diff changeset
    14
71b77b61ed60 test-rebase: add a brute force test
Jun Wu <quark@fb.com>
parents:
diff changeset
    15
Source looks like "N"
71b77b61ed60 test-rebase: add a brute force test
Jun Wu <quark@fb.com>
parents:
diff changeset
    16
71b77b61ed60 test-rebase: add a brute force test
Jun Wu <quark@fb.com>
parents:
diff changeset
    17
  $ init <<'EOS'
71b77b61ed60 test-rebase: add a brute force test
Jun Wu <quark@fb.com>
parents:
diff changeset
    18
  > C D
71b77b61ed60 test-rebase: add a brute force test
Jun Wu <quark@fb.com>
parents:
diff changeset
    19
  > |\|
71b77b61ed60 test-rebase: add a brute force test
Jun Wu <quark@fb.com>
parents:
diff changeset
    20
  > A B Z
71b77b61ed60 test-rebase: add a brute force test
Jun Wu <quark@fb.com>
parents:
diff changeset
    21
  > EOS
71b77b61ed60 test-rebase: add a brute force test
Jun Wu <quark@fb.com>
parents:
diff changeset
    22
71b77b61ed60 test-rebase: add a brute force test
Jun Wu <quark@fb.com>
parents:
diff changeset
    23
  $ hg debugbruterebase 'all()-Z' Z
71b77b61ed60 test-rebase: add a brute force test
Jun Wu <quark@fb.com>
parents:
diff changeset
    24
     A: A':Z
71b77b61ed60 test-rebase: add a brute force test
Jun Wu <quark@fb.com>
parents:
diff changeset
    25
     B: B':Z
71b77b61ed60 test-rebase: add a brute force test
Jun Wu <quark@fb.com>
parents:
diff changeset
    26
    AB: A':Z B':Z
33810
19f495fef0a3 rebase: change "result would have 3 parent" error message (BC)
Jun Wu <quark@fb.com>
parents: 33807
diff changeset
    27
     C: ABORT: cannot rebase 3:a35c07e8a2a4 without moving at least one of its parents
33734
71b77b61ed60 test-rebase: add a brute force test
Jun Wu <quark@fb.com>
parents:
diff changeset
    28
    AC: A':Z C':A'B
71b77b61ed60 test-rebase: add a brute force test
Jun Wu <quark@fb.com>
parents:
diff changeset
    29
    BC: B':Z C':B'A
71b77b61ed60 test-rebase: add a brute force test
Jun Wu <quark@fb.com>
parents:
diff changeset
    30
   ABC: A':Z B':Z C':A'B'
71b77b61ed60 test-rebase: add a brute force test
Jun Wu <quark@fb.com>
parents:
diff changeset
    31
     D: D':Z
71b77b61ed60 test-rebase: add a brute force test
Jun Wu <quark@fb.com>
parents:
diff changeset
    32
    AD: A':Z D':Z
71b77b61ed60 test-rebase: add a brute force test
Jun Wu <quark@fb.com>
parents:
diff changeset
    33
    BD: B':Z D':B'
71b77b61ed60 test-rebase: add a brute force test
Jun Wu <quark@fb.com>
parents:
diff changeset
    34
   ABD: A':Z B':Z D':B'
33810
19f495fef0a3 rebase: change "result would have 3 parent" error message (BC)
Jun Wu <quark@fb.com>
parents: 33807
diff changeset
    35
    CD: ABORT: cannot rebase 3:a35c07e8a2a4 without moving at least one of its parents
33807
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33734
diff changeset
    36
   ACD: A':Z C':A'B D':Z
33734
71b77b61ed60 test-rebase: add a brute force test
Jun Wu <quark@fb.com>
parents:
diff changeset
    37
   BCD: B':Z C':B'A D':B'
71b77b61ed60 test-rebase: add a brute force test
Jun Wu <quark@fb.com>
parents:
diff changeset
    38
  ABCD: A':Z B':Z C':A'B' D':B'
71b77b61ed60 test-rebase: add a brute force test
Jun Wu <quark@fb.com>
parents:
diff changeset
    39
71b77b61ed60 test-rebase: add a brute force test
Jun Wu <quark@fb.com>
parents:
diff changeset
    40
Moving backwards
71b77b61ed60 test-rebase: add a brute force test
Jun Wu <quark@fb.com>
parents:
diff changeset
    41
71b77b61ed60 test-rebase: add a brute force test
Jun Wu <quark@fb.com>
parents:
diff changeset
    42
  $ init <<'EOS'
71b77b61ed60 test-rebase: add a brute force test
Jun Wu <quark@fb.com>
parents:
diff changeset
    43
  > C
71b77b61ed60 test-rebase: add a brute force test
Jun Wu <quark@fb.com>
parents:
diff changeset
    44
  > |\
71b77b61ed60 test-rebase: add a brute force test
Jun Wu <quark@fb.com>
parents:
diff changeset
    45
  > A B
71b77b61ed60 test-rebase: add a brute force test
Jun Wu <quark@fb.com>
parents:
diff changeset
    46
  > |
71b77b61ed60 test-rebase: add a brute force test
Jun Wu <quark@fb.com>
parents:
diff changeset
    47
  > Z
71b77b61ed60 test-rebase: add a brute force test
Jun Wu <quark@fb.com>
parents:
diff changeset
    48
  > EOS
71b77b61ed60 test-rebase: add a brute force test
Jun Wu <quark@fb.com>
parents:
diff changeset
    49
  $ hg debugbruterebase 'all()-Z' Z
71b77b61ed60 test-rebase: add a brute force test
Jun Wu <quark@fb.com>
parents:
diff changeset
    50
    B: B':Z
71b77b61ed60 test-rebase: add a brute force test
Jun Wu <quark@fb.com>
parents:
diff changeset
    51
    A: 
71b77b61ed60 test-rebase: add a brute force test
Jun Wu <quark@fb.com>
parents:
diff changeset
    52
   BA: B':Z
33810
19f495fef0a3 rebase: change "result would have 3 parent" error message (BC)
Jun Wu <quark@fb.com>
parents: 33807
diff changeset
    53
    C: ABORT: cannot rebase 3:b8d7149b562b without moving at least one of its parents
33734
71b77b61ed60 test-rebase: add a brute force test
Jun Wu <quark@fb.com>
parents:
diff changeset
    54
   BC: B':Z C':B'A
71b77b61ed60 test-rebase: add a brute force test
Jun Wu <quark@fb.com>
parents:
diff changeset
    55
   AC: 
33807
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33734
diff changeset
    56
  BAC: B':Z C':B'A