Mercurial > hg-stable
changeset 39242:8da20fc9fc07
fastannotate: move some global state mutation to extsetup()
Differential Revision: https://phab.mercurial-scm.org/D4202
author | Augie Fackler <augie@google.com> |
---|---|
date | Thu, 09 Aug 2018 15:08:32 -0400 |
parents | 303dae0136b0 |
children | eaa14dff3226 |
files | hgext/fastannotate/__init__.py hgext/fastannotate/protocol.py |
diffstat | 2 files changed, 4 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext/fastannotate/__init__.py Thu Aug 09 15:05:43 2018 -0400 +++ b/hgext/fastannotate/__init__.py Thu Aug 09 15:08:32 2018 -0400 @@ -100,8 +100,6 @@ # # * rename the config knob for updating the local cache from a remote server # -# * move various global-setup bits to extsetup() or reposetup() -# # * move `flock` based locking to a common area # # * revise wireprotocol for sharing annotate files @@ -185,7 +183,9 @@ if ui.configbool('fastannotate', 'useflock', _flockavailable()): context.pathhelper.lock = context.pathhelper._lockflock +def extsetup(ui): # fastannotate has its own locking, without depending on repo lock + # TODO: avoid mutating this unless the specific repo has it enabled localrepo.localrepository._wlockfreeprefix.add('fastannotate/') def reposetup(ui, repo):
--- a/hgext/fastannotate/protocol.py Thu Aug 09 15:05:43 2018 -0400 +++ b/hgext/fastannotate/protocol.py Thu Aug 09 15:08:32 2018 -0400 @@ -223,5 +223,7 @@ _registerwireprotocommand() if isinstance(repo, localrepo.localrepository): localreposetup(ui, repo) + # TODO: this mutates global state, but only if at least one repo + # has the extension enabled. This is probably bad for hgweb. if peersetup not in hg.wirepeersetupfuncs: hg.wirepeersetupfuncs.append(peersetup)