This revision was automatically updated to reflect the committed changes.
Closed by commit rHG8da20fc9fc07: fastannotate: move some global state mutation
to extsetup() (authored by durin42, committed by ).
REPOSITORY
rHG Mercurial
CHANGES SINCE LAST UPDATE
https://phab.mercurial-scm.org/D4202?vs=10174&id=10475
REVISION DETAIL
https://phab.mercurial-scm.org/D4202
AFFECTED FILES
hgext/fastannotate/__init__.py
hgext/fastannotate/protocol.py
CHANGE DETAILS
diff --git a/hgext/fastannotate/protocol.py b/hgext/fastannotate/protocol.py
--- a/hgext/fastannotate/protocol.py
+++ b/hgext/fastannotate/protocol.py
@@ -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)
diff --git a/hgext/fastannotate/__init__.py b/hgext/fastannotate/__init__.py
--- a/hgext/fastannotate/__init__.py
+++ b/hgext/fastannotate/__init__.py
@@ -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):
To: durin42, #hg-reviewers, indygreg
Cc: mercurial-devel
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel