diff -r 6b52cffd8d0a -r e2f7b2695ba1 mercurial/localrepo.py --- 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