D11817: sparse: lock the store when updating requirements config
aalekseyev (Arseniy Alekseyev)
phabricator at mercurial-scm.org
Mon Nov 29 12:28:07 UTC 2021
aalekseyev created this revision.
Herald added a reviewer: hg-reviewers.
Herald added a subscriber: mercurial-patches.
REPOSITORY
rHG Mercurial
BRANCH
stable
REVISION DETAIL
https://phab.mercurial-scm.org/D11817
AFFECTED FILES
mercurial/sparse.py
tests/test-sparse-with-safe-share.t
CHANGE DETAILS
diff --git a/tests/test-sparse-with-safe-share.t b/tests/test-sparse-with-safe-share.t
--- a/tests/test-sparse-with-safe-share.t
+++ b/tests/test-sparse-with-safe-share.t
@@ -16,10 +16,8 @@
$ echo x > hide
$ hg ci -Aqm 'initial'
-Verify basic --include
+Regression test: checks that this command correctly locks the store
+before updating the store [requirements] config.
$ hg up -q 0
$ hg debugsparse --include 'hide'
- devel-warn: write with no lock: "requires" at: *mercurial/scmutil.py:1558 (writerequires) (glob)
-
-TODO: bug in sparse when used together with safe-share^
diff --git a/mercurial/sparse.py b/mercurial/sparse.py
--- a/mercurial/sparse.py
+++ b/mercurial/sparse.py
@@ -718,7 +718,7 @@
The new config is written out and a working directory refresh is performed.
"""
- with repo.wlock(), repo.dirstate.parentchange():
+ with repo.wlock(), repo.lock(), repo.dirstate.parentchange():
raw = repo.vfs.tryread(b'sparse')
oldinclude, oldexclude, oldprofiles = parseconfig(
repo.ui, raw, b'sparse'
To: aalekseyev, #hg-reviewers
Cc: mercurial-patches, mercurial-devel
More information about the Mercurial-devel
mailing list