--- a/mercurial/localrepo.py Tue Mar 02 00:05:22 2021 +0100
+++ b/mercurial/localrepo.py Thu Mar 18 18:24:59 2021 -0400
@@ -2336,6 +2336,7 @@
def tracktags(tr2):
repo = reporef()
+ assert repo is not None # help pytype
oldfnodes = tagsmod.fnoderevs(repo.ui, repo, oldheads)
newheads = repo.changelog.headrevs()
newfnodes = tagsmod.fnoderevs(repo.ui, repo, newheads)
@@ -2372,6 +2373,7 @@
# gating.
tracktags(tr2)
repo = reporef()
+ assert repo is not None # help pytype
singleheadopt = (b'experimental', b'single-head-per-branch')
singlehead = repo.ui.configbool(*singleheadopt)
@@ -2475,6 +2477,8 @@
def hookfunc(unused_success):
repo = reporef()
+ assert repo is not None # help pytype
+
if hook.hashook(repo.ui, b'txnclose-bookmark'):
bmchanges = sorted(tr.changes[b'bookmarks'].items())
for name, (old, new) in bmchanges:
@@ -2506,7 +2510,9 @@
b'txnclose', throw=False, **pycompat.strkwargs(hookargs)
)
- reporef()._afterlock(hookfunc)
+ repo = reporef()
+ assert repo is not None # help pytype
+ repo._afterlock(hookfunc)
tr.addfinalize(b'txnclose-hook', txnclosehook)
# Include a leading "-" to make it happen before the transaction summary
@@ -2517,7 +2523,9 @@
def txnaborthook(tr2):
"""To be run if transaction is aborted"""
- reporef().hook(
+ repo = reporef()
+ assert repo is not None # help pytype
+ repo.hook(
b'txnabort', throw=False, **pycompat.strkwargs(tr2.hookargs)
)
@@ -2700,6 +2708,7 @@
def updater(tr):
repo = reporef()
+ assert repo is not None # help pytype
repo.updatecaches(tr)
return updater
@@ -2915,7 +2924,7 @@
If both 'lock' and 'wlock' must be acquired, ensure you always acquires
'wlock' first to avoid a dead-lock hazard."""
- l = self._wlockref and self._wlockref()
+ l = self._wlockref() if self._wlockref else None
if l is not None and l.held:
l.lock()
return l