diff --git a/hgext/fastannotate/__init__.py b/hgext/fastannotate/__init__.py --- a/hgext/fastannotate/__init__.py +++ b/hgext/fastannotate/__init__.py @@ -53,19 +53,11 @@ serverbuildondemand = True # update local annotate cache from remote on demand - # (default: True for remotefilelog repo, False otherwise) - client = True + client = False # path to use when connecting to the remote server (default: default) remotepath = default - # share sshpeer with remotefilelog. this would allow fastannotate to peek - # into remotefilelog internals, and steal its sshpeer, or in the reversed - # direction: donate its sshpeer to remotefilelog. disable this if - # fastannotate and remotefilelog should not share a sshpeer when their - # endpoints are different and incompatible. (default: True) - clientsharepeer = True - # minimal length of the history of a file required to fetch linelog from # the server. (default: 10) clientfetchthreshold = 10 @@ -108,12 +100,8 @@ # # * rename the config knob for updating the local cache from a remote server # -# * remove the remotefilelog-peer-sharing functionality -# # * move various global-setup bits to extsetup() or reposetup() # -# * assume repo.requirements will always exist -# # * move `flock` based locking to a common area # # * revise wireprotocol for sharing annotate files @@ -154,7 +142,7 @@ configitem('fastannotate', 'modes', default=['fastannotate']) configitem('fastannotate', 'server', default=False) configitem('fastannotate', 'useflock', default=True) -configitem('fastannotate', 'client') +configitem('fastannotate', 'client', default=False) configitem('fastannotate', 'unfilteredrepo', default=True) configitem('fastannotate', 'defaultformat', default=['number']) configitem('fastannotate', 'perfhack', default=False) @@ -162,7 +150,6 @@ configitem('fastannotate', 'forcetext', default=True) configitem('fastannotate', 'forcefollow', default=True) configitem('fastannotate', 'clientfetchthreshold', default=10) -configitem('fastannotate', 'clientsharepeer', default=True) configitem('fastannotate', 'serverbuildondemand', default=True) configitem('fastannotate', 'remotepath', default='default') @@ -188,7 +175,6 @@ elif name == 'fctx': from . import support support.replacefctxannotate() - support.replaceremotefctxannotate() commands.wrapdefault() else: raise hgerror.Abort(_('fastannotate: invalid mode: %s') % name) @@ -203,9 +189,5 @@ localrepo.localrepository._wlockfreeprefix.add('fastannotate/') def reposetup(ui, repo): - client = ui.configbool('fastannotate', 'client', default=None) - if client is None: - if util.safehasattr(repo, 'requirements'): - client = 'remotefilelog' in repo.requirements - if client: + if ui.configbool('fastannotate', 'client'): protocol.clientreposetup(ui, repo) diff --git a/hgext/fastannotate/protocol.py b/hgext/fastannotate/protocol.py --- a/hgext/fastannotate/protocol.py +++ b/hgext/fastannotate/protocol.py @@ -134,33 +134,14 @@ def annotatepeer(repo): ui = repo.ui - # fileservice belongs to remotefilelog - fileservice = getattr(repo, 'fileservice', None) - sharepeer = ui.configbool('fastannotate', 'clientsharepeer', True) - - if sharepeer and fileservice: - ui.debug('fastannotate: using remotefilelog connection pool\n') - conn = repo.connectionpool.get(repo.fallbackpath) - peer = conn.peer - stolen = True - else: - remotepath = ui.expandpath( - ui.config('fastannotate', 'remotepath', 'default')) - peer = hg.peer(ui, {}, remotepath) - stolen = False + remotepath = ui.expandpath( + ui.config('fastannotate', 'remotepath', 'default')) + peer = hg.peer(ui, {}, remotepath) try: - # Note: fastannotate requests should never trigger a remotefilelog - # "getfiles" request, because "getfiles" puts the stream into a state - # that does not exit. See "clientfetch": it does "getannotate" before - # any hg stuff that could potentially trigger a "getfiles". yield peer finally: - if not stolen: - for i in ['close', 'cleanup']: - getattr(peer, i, lambda: None)() - else: - conn.__exit__(None, None, None) + peer.close() def clientfetch(repo, paths, lastnodemap=None, peer=None): """download annotate cache from the server for paths""" @@ -209,16 +190,10 @@ master = repo.ui.config('fastannotate', 'mainbranch') or 'default' - if 'remotefilelog' in repo.requirements: - ctx = scmutil.revsingle(repo, master) - f = lambda path: len(ctx[path].ancestormap()) - else: - f = lambda path: len(repo.file(path)) - result = [] for path in paths: try: - if f(path) >= threshold: + if len(repo.file(path)) >= threshold: result.append(path) except Exception: # file not found etc. result.append(path) diff --git a/hgext/fastannotate/support.py b/hgext/fastannotate/support.py --- a/hgext/fastannotate/support.py +++ b/hgext/fastannotate/support.py @@ -120,12 +120,3 @@ def replacefctxannotate(): extensions.wrapfunction(hgcontext.basefilectx, 'annotate', _fctxannotate) - -def replaceremotefctxannotate(): - try: - r = extensions.find('remotefilelog') - except KeyError: - return - else: - extensions.wrapfunction(r.remotefilectx.remotefilectx, 'annotate', - _remotefctxannotate)