tests/test-strip-branch-cache.t
author Manuel Jacob <me@manueljacob.de>
Thu, 15 Sep 2022 01:48:38 +0200
changeset 49494 c96ed4029fda
parent 49071 9caf23927d04
child 51492 2e8a88e5809f
permissions -rw-r--r--
templates: add filter to reverse list The filter supports only lists because for lists, it’s straightforward to implement. Reversing text doesn’t seem very useful and is hard to implement. Reversing the bytes would break multi-bytes encodings. Reversing the code points would break characters consisting of multiple code points. Reversing graphemes is non-trivial without using a library not included in the standard library.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
49071
9caf23927d04 branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
     1
Define helpers.
9caf23927d04 branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
     2
9caf23927d04 branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
     3
  $ hg_log () { hg log -G -T "{rev}:{node|short}"; }
9caf23927d04 branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
     4
  $ commit () { echo "foo - ${2:-$1}" > $1; hg commit -Aqm "Edited $1"; }
9caf23927d04 branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
     5
  $ strip() { hg --config extensions.strip= strip -q -r "$1" ; }
9caf23927d04 branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
     6
9caf23927d04 branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
     7
Setup hg repo.
9caf23927d04 branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
     8
9caf23927d04 branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
     9
  $ hg init repo
9caf23927d04 branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    10
  $ cd repo
9caf23927d04 branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    11
  $ touch x; hg add x; hg commit -m "initial"
9caf23927d04 branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    12
  $ hg clone -q . ../clone
9caf23927d04 branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    13
  $ commit a
9caf23927d04 branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    14
9caf23927d04 branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    15
  $ cd ../clone
9caf23927d04 branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    16
9caf23927d04 branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    17
  $ commit b
9caf23927d04 branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    18
9caf23927d04 branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    19
  $ hg pull -q ../repo
9caf23927d04 branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    20
9caf23927d04 branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    21
  $ cat .hg/cache/branch2-visible
9caf23927d04 branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    22
  222ae9789a75703f9836e44de7db179cbfd420ee 2
9caf23927d04 branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    23
  a3498d6e39376d2456425dd8c692367bdbf00fa2 o default
9caf23927d04 branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    24
  222ae9789a75703f9836e44de7db179cbfd420ee o default
9caf23927d04 branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    25
9caf23927d04 branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    26
  $ hg_log
9caf23927d04 branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    27
  o  2:222ae9789a75
9caf23927d04 branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    28
  |
9caf23927d04 branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    29
  | @  1:a3498d6e3937
9caf23927d04 branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    30
  |/
9caf23927d04 branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    31
  o  0:7ab0a3bd758a
9caf23927d04 branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    32
  
9caf23927d04 branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    33
9caf23927d04 branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    34
  $ strip '1:'
9caf23927d04 branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    35
9caf23927d04 branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    36
The branchmap cache is not adjusted on strip.
9caf23927d04 branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    37
Now mentions a changelog entry that has been stripped.
9caf23927d04 branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    38
9caf23927d04 branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    39
  $ cat .hg/cache/branch2-visible
9caf23927d04 branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    40
  222ae9789a75703f9836e44de7db179cbfd420ee 2
9caf23927d04 branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    41
  a3498d6e39376d2456425dd8c692367bdbf00fa2 o default
9caf23927d04 branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    42
  222ae9789a75703f9836e44de7db179cbfd420ee o default
9caf23927d04 branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    43
9caf23927d04 branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    44
  $ commit c
9caf23927d04 branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    45
9caf23927d04 branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    46
Not adjusted on commit, either.
9caf23927d04 branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    47
9caf23927d04 branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    48
  $ cat .hg/cache/branch2-visible
9caf23927d04 branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    49
  222ae9789a75703f9836e44de7db179cbfd420ee 2
9caf23927d04 branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    50
  a3498d6e39376d2456425dd8c692367bdbf00fa2 o default
9caf23927d04 branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    51
  222ae9789a75703f9836e44de7db179cbfd420ee o default
9caf23927d04 branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    52
9caf23927d04 branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    53
On pull we end up with the same tip, and so wrongly reuse the invalid cache and crash.
9caf23927d04 branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    54
9caf23927d04 branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    55
  $ hg pull ../repo 2>&1 | grep 'ValueError:'
9caf23927d04 branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    56
  ValueError: node a3498d6e39376d2456425dd8c692367bdbf00fa2 does not exist (known-bad-output !)