D7141: largefiles: use context manager for wlock in repo.status() override
martinvonz (Martin von Zweigbergk)
phabricator at mercurial-scm.org
Sat Oct 19 07:38:23 UTC 2019
martinvonz created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.
REPOSITORY
rHG Mercurial
REVISION DETAIL
https://phab.mercurial-scm.org/D7141
AFFECTED FILES
hgext/largefiles/reposetup.py
CHANGE DETAILS
diff --git a/hgext/largefiles/reposetup.py b/hgext/largefiles/reposetup.py
--- a/hgext/largefiles/reposetup.py
+++ b/hgext/largefiles/reposetup.py
@@ -18,6 +18,7 @@
localrepo,
match as matchmod,
scmutil,
+ util,
)
from . import (
@@ -130,14 +131,15 @@
if match is None:
match = matchmod.always()
- wlock = None
try:
- try:
- # updating the dirstate is optional
- # so we don't wait on the lock
- wlock = self.wlock(False)
- except error.LockError:
- pass
+ # updating the dirstate is optional
+ # so we don't wait on the lock
+ wlock = self.wlock(False)
+ gotlock = True
+ except error.LockError:
+ wlock = util.nullcontextmanager()
+ gotlock = False
+ with wlock:
# First check if paths or patterns were specified on the
# command line. If there were, and they don't match any
@@ -308,13 +310,9 @@
for items in result
]
- if wlock:
+ if gotlock:
lfdirstate.write()
- finally:
- if wlock:
- wlock.release()
-
self.lfstatus = True
return scmutil.status(*result)
To: martinvonz, #hg-reviewers
Cc: mercurial-devel
More information about the Mercurial-devel
mailing list