tests/test-sparse-with-safe-share.t
author Pierre-Yves David <pierre-yves.david@octobus.net>
Tue, 09 Apr 2024 02:54:12 +0200
changeset 51577 b5d494f7d28a
parent 48494 b74ee41addee
permissions -rw-r--r--
push: rework the computation of fallbackheads to be correct The previous computation tried to be smart but ended up being wrong. This was caught by phase movement test while reworking the phase discovery logic to be faster. The previous logic was failing to catch case where the pushed set was not based on a common heads (i.e. when the discovery seemed to have "over discovered" content, outside the pushed set) In the following graph, `e` is a common head and we `hg push -r f`. We need to detect `c` as a fallback heads and we previous failed to do so:: e | d f |/ c | b | a The performance impact of the change seems minimal. On the most impacted repository at hand (mozilla-try), the slowdown seems mostly mixed in the overall noise `hg push` but seems to be in the hundred of milliseconds order of magnitude. When using rust, we seems to be a bit faster, probably because we leverage more accelaratd internals. I added a couple of performance related common for further investigation later on.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
48493
50330d481640 sparse: demonstrate a bug when used with safe-share
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
     1
Same with share-safe
50330d481640 sparse: demonstrate a bug when used with safe-share
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
     2
50330d481640 sparse: demonstrate a bug when used with safe-share
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
     3
  $ echo "[format]"         >> $HGRCPATH
50330d481640 sparse: demonstrate a bug when used with safe-share
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
     4
  $ echo "use-share-safe = True" >> $HGRCPATH
50330d481640 sparse: demonstrate a bug when used with safe-share
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
     5
50330d481640 sparse: demonstrate a bug when used with safe-share
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
     6
  $ cd $TESTTMP
50330d481640 sparse: demonstrate a bug when used with safe-share
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
     7
50330d481640 sparse: demonstrate a bug when used with safe-share
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
     8
  $ hg init myrepo
50330d481640 sparse: demonstrate a bug when used with safe-share
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
     9
  $ cd myrepo
50330d481640 sparse: demonstrate a bug when used with safe-share
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    10
  $ cat > .hg/hgrc <<EOF
50330d481640 sparse: demonstrate a bug when used with safe-share
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    11
  > [extensions]
50330d481640 sparse: demonstrate a bug when used with safe-share
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    12
  > sparse=
50330d481640 sparse: demonstrate a bug when used with safe-share
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    13
  > EOF
50330d481640 sparse: demonstrate a bug when used with safe-share
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    14
50330d481640 sparse: demonstrate a bug when used with safe-share
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    15
  $ echo a > show
50330d481640 sparse: demonstrate a bug when used with safe-share
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    16
  $ echo x > hide
50330d481640 sparse: demonstrate a bug when used with safe-share
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    17
  $ hg ci -Aqm 'initial'
50330d481640 sparse: demonstrate a bug when used with safe-share
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    18
48494
b74ee41addee sparse: lock the store when updating requirements config
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents: 48493
diff changeset
    19
Regression test: checks that this command correctly locks the store
b74ee41addee sparse: lock the store when updating requirements config
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents: 48493
diff changeset
    20
before updating the store [requirements] config.
48493
50330d481640 sparse: demonstrate a bug when used with safe-share
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    21
50330d481640 sparse: demonstrate a bug when used with safe-share
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    22
  $ hg up -q 0
50330d481640 sparse: demonstrate a bug when used with safe-share
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    23
  $ hg debugsparse --include 'hide'