tests/test-rhg-no-generaldelta.t
author Matt Harbison <matt_harbison@yahoo.com>
Tue, 18 Oct 2022 11:54:58 -0400
branchstable
changeset 49534 8251f7cc787d
parent 48497 96ea4db4741b
permissions -rw-r--r--
keepalive: ensure `close_all()` actually closes all cached connections While debugging why LFS blob downloads are getting corrupted with workers, I noticed that prior to spinning up the workers, the ConnectionManager has 2 connections to the server and calling `KeepAliveHandler.close_all()` left one behind. The reason is the value component of `self._cm.get_all().items()` is a list, and `self._cm.remove()` modifies said list while the caller is iterating over it. Now `get_all()` is a deep copy of both the dict and lists in all cases.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
48495
e33d7c39db47 rhg: demonstrate that rhg breaks on non-generaldelta revlogs
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
     1
  $ NO_FALLBACK="env RHG_ON_UNSUPPORTED=abort"
e33d7c39db47 rhg: demonstrate that rhg breaks on non-generaldelta revlogs
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
     2
e33d7c39db47 rhg: demonstrate that rhg breaks on non-generaldelta revlogs
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
     3
  $ cat << EOF >> $HGRCPATH
e33d7c39db47 rhg: demonstrate that rhg breaks on non-generaldelta revlogs
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
     4
  > [format]
e33d7c39db47 rhg: demonstrate that rhg breaks on non-generaldelta revlogs
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
     5
  > sparse-revlog = no
e33d7c39db47 rhg: demonstrate that rhg breaks on non-generaldelta revlogs
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
     6
  > EOF
e33d7c39db47 rhg: demonstrate that rhg breaks on non-generaldelta revlogs
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
     7
e33d7c39db47 rhg: demonstrate that rhg breaks on non-generaldelta revlogs
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
     8
  $ hg init repo --config format.generaldelta=no --config format.usegeneraldelta=no
e33d7c39db47 rhg: demonstrate that rhg breaks on non-generaldelta revlogs
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
     9
  $ cd repo
e33d7c39db47 rhg: demonstrate that rhg breaks on non-generaldelta revlogs
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    10
  $ (echo header; seq.py 20) > f
e33d7c39db47 rhg: demonstrate that rhg breaks on non-generaldelta revlogs
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    11
  $ hg commit -q -Am initial
e33d7c39db47 rhg: demonstrate that rhg breaks on non-generaldelta revlogs
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    12
  $ (echo header; seq.py 20; echo footer) > f
e33d7c39db47 rhg: demonstrate that rhg breaks on non-generaldelta revlogs
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    13
  $ hg commit -q -Am x
e33d7c39db47 rhg: demonstrate that rhg breaks on non-generaldelta revlogs
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    14
  $ hg update ".^"
e33d7c39db47 rhg: demonstrate that rhg breaks on non-generaldelta revlogs
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    15
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
e33d7c39db47 rhg: demonstrate that rhg breaks on non-generaldelta revlogs
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    16
  $ (seq.py 20; echo footer) > f
e33d7c39db47 rhg: demonstrate that rhg breaks on non-generaldelta revlogs
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    17
  $ hg commit -q -Am y
e33d7c39db47 rhg: demonstrate that rhg breaks on non-generaldelta revlogs
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    18
  $ hg debugdeltachain f --template '{rev} {prevrev} {deltatype}\n'
e33d7c39db47 rhg: demonstrate that rhg breaks on non-generaldelta revlogs
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    19
  0 -1 base
e33d7c39db47 rhg: demonstrate that rhg breaks on non-generaldelta revlogs
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    20
  1 0 prev
e33d7c39db47 rhg: demonstrate that rhg breaks on non-generaldelta revlogs
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    21
  2 1 prev
e33d7c39db47 rhg: demonstrate that rhg breaks on non-generaldelta revlogs
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    22
48497
96ea4db4741b rhg: fix a crash on non-generaldelta revlogs
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents: 48495
diff changeset
    23
rhg works on non-generaldelta revlogs:
48495
e33d7c39db47 rhg: demonstrate that rhg breaks on non-generaldelta revlogs
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    24
48497
96ea4db4741b rhg: fix a crash on non-generaldelta revlogs
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents: 48495
diff changeset
    25
  $ $NO_FALLBACK hg cat f -r .
96ea4db4741b rhg: fix a crash on non-generaldelta revlogs
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents: 48495
diff changeset
    26
  1
96ea4db4741b rhg: fix a crash on non-generaldelta revlogs
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents: 48495
diff changeset
    27
  2
96ea4db4741b rhg: fix a crash on non-generaldelta revlogs
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents: 48495
diff changeset
    28
  3
96ea4db4741b rhg: fix a crash on non-generaldelta revlogs
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents: 48495
diff changeset
    29
  4
96ea4db4741b rhg: fix a crash on non-generaldelta revlogs
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents: 48495
diff changeset
    30
  5
96ea4db4741b rhg: fix a crash on non-generaldelta revlogs
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents: 48495
diff changeset
    31
  6
96ea4db4741b rhg: fix a crash on non-generaldelta revlogs
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents: 48495
diff changeset
    32
  7
96ea4db4741b rhg: fix a crash on non-generaldelta revlogs
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents: 48495
diff changeset
    33
  8
96ea4db4741b rhg: fix a crash on non-generaldelta revlogs
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents: 48495
diff changeset
    34
  9
96ea4db4741b rhg: fix a crash on non-generaldelta revlogs
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents: 48495
diff changeset
    35
  10
96ea4db4741b rhg: fix a crash on non-generaldelta revlogs
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents: 48495
diff changeset
    36
  11
96ea4db4741b rhg: fix a crash on non-generaldelta revlogs
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents: 48495
diff changeset
    37
  12
96ea4db4741b rhg: fix a crash on non-generaldelta revlogs
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents: 48495
diff changeset
    38
  13
96ea4db4741b rhg: fix a crash on non-generaldelta revlogs
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents: 48495
diff changeset
    39
  14
96ea4db4741b rhg: fix a crash on non-generaldelta revlogs
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents: 48495
diff changeset
    40
  15
96ea4db4741b rhg: fix a crash on non-generaldelta revlogs
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents: 48495
diff changeset
    41
  16
96ea4db4741b rhg: fix a crash on non-generaldelta revlogs
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents: 48495
diff changeset
    42
  17
96ea4db4741b rhg: fix a crash on non-generaldelta revlogs
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents: 48495
diff changeset
    43
  18
96ea4db4741b rhg: fix a crash on non-generaldelta revlogs
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents: 48495
diff changeset
    44
  19
96ea4db4741b rhg: fix a crash on non-generaldelta revlogs
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents: 48495
diff changeset
    45
  20
96ea4db4741b rhg: fix a crash on non-generaldelta revlogs
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents: 48495
diff changeset
    46
  footer