Mercurial > hg
view tests/test-sparse-verbose-json.t @ 42712:cdf0e9523de1
branchmap: explicitly warm+write all subsets of the branchmap caches
'full' claims it will warm all of the caches that are known about, but this was
not the case - it did not actually warm the branchmap caches for subsets that we
haven't requested, or for subsets that are still considered "valid". By
explicitly writing them to disk, we can force the subsets for ex: "served" to be
written ("immutable" and "base"), making it cheaper to calculate "served" the
next time it needs to be updated.
Differential Revision: https://phab.mercurial-scm.org/D6710
author | Kyle Lippincott <spectral@google.com> |
---|---|
date | Mon, 05 Aug 2019 13:31:12 -0700 |
parents | 9087f9997f42 |
children |
line wrap: on
line source
test sparse with --verbose and -T json $ hg init myrepo $ cd myrepo $ cat > .hg/hgrc <<EOF > [extensions] > sparse= > strip= > EOF $ echo a > show $ echo x > hide $ hg ci -Aqm 'initial' $ echo b > show $ echo y > hide $ echo aa > show2 $ echo xx > hide2 $ hg ci -Aqm 'two' Verify basic --include and --reset $ hg up -q 0 $ hg debugsparse --include 'hide' -Tjson [ { "exclude_rules_added": 0, "files_added": 0, "files_conflicting": 0, "files_dropped": 1, "include_rules_added": 1, "profiles_added": 0 } ] $ hg debugsparse --clear-rules $ hg debugsparse --include 'hide' --verbose removing show Profiles changed: 0 Include rules changed: 1 Exclude rules changed: 0 $ hg debugsparse --reset -Tjson [ { "exclude_rules_added": 0, "files_added": 1, "files_conflicting": 0, "files_dropped": 0, "include_rules_added": -1, "profiles_added": 0 } ] $ hg debugsparse --include 'hide' $ hg debugsparse --reset --verbose getting show Profiles changed: 0 Include rules changed: -1 Exclude rules changed: 0 Verifying that problematic files still allow us to see the deltas when forcing: $ hg debugsparse --include 'show*' $ touch hide $ hg debugsparse --delete 'show*' --force -Tjson pending changes to 'hide' [ { "exclude_rules_added": 0, "files_added": 0, "files_conflicting": 1, "files_dropped": 0, "include_rules_added": -1, "profiles_added": 0 } ] $ hg debugsparse --include 'show*' --force pending changes to 'hide' $ hg debugsparse --delete 'show*' --force --verbose pending changes to 'hide' Profiles changed: 0 Include rules changed: -1 Exclude rules changed: 0