This is an archive of the discontinued Mercurial Phabricator instance.

remotefilelog: acquire lock before writing requirements on clone
ClosedPublic

Authored by pulkit on Aug 26 2020, 6:04 AM.

Details

Summary

Performing a shallow clone in remotefilelog does not acquire lock. This leads to
following warning when we try to write some requirements in store:

--- /home/gps/src/hg-committed/tests/test-remotefilelog-share.t
+++ /home/gps/src/hg-committed/tests/test-remotefilelog-share.t#safe.err
@@ -28,6 +28,7 @@


   $ hgcloneshallow ssh://user@dummy/master source --noupdate -q
+  devel-warn: write with no lock: "requires" at: /home/gps/src/hg-committed/mercurial/scmutil.py:1505 (writerequires)
   $ hg share source dest
   updating working directory
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved

Let's lock before writing the requirements file.

Another solution which I can think of is not warn about missing lock when
writing to requires file in store.

Diff Detail

Repository
rHG Mercurial
Branch
default
Lint
No Linters Available
Unit
No Unit Test Coverage