##// END OF EJS Templates
filelog: record what's using attributes...
filelog: record what's using attributes filelog and the file storage interface have some attributes that ideally shouldn't be there. This commit annotates some of those attributes with their users so we know where to look when it comes time to removing them. This exercise exposed a theme: many attributes are used by LFS, repo upgrade, verify, and special repo types (like bundlerepo). That points to missing abstractions on file storage to facilitate these special needs. Differential Revision: https://phab.mercurial-scm.org/D4661

File last commit:

r39802:9358f506 default
r39819:76f92d20 default
Show More
narrowrepo.py
30 lines | 900 B | text/x-python | PythonLexer
Augie Fackler
narrow: import experimental extension from narrowhg revision cb51d673e9c5...
r36096 # narrowrepo.py - repository which supports narrow revlogs, lazy loading
#
# Copyright 2017 Google, Inc.
#
# This software may be used and distributed according to the terms of the
# GNU General Public License version 2 or any later version.
from __future__ import absolute_import
from . import (
Kyle Lippincott
narrow: only wrap dirstate functions once, instead of per-reposetup...
r38142 narrowdirstate,
Martin von Zweigbergk
narrow: move wire proto capabilities to narrowwirepeer...
r39565 narrowwirepeer,
Augie Fackler
narrow: import experimental extension from narrowhg revision cb51d673e9c5...
r36096 )
Martin von Zweigbergk
narrow: move checking for narrow requirement into _narrowmatch()...
r36484 def wraprepo(repo):
Augie Fackler
narrow: import experimental extension from narrowhg revision cb51d673e9c5...
r36096 """Enables narrow clone functionality on a single local repository."""
class narrowrepository(repo.__class__):
Kyle Lippincott
narrow: only wrap dirstate functions once, instead of per-reposetup...
r38142 def _makedirstate(self):
dirstate = super(narrowrepository, self)._makedirstate()
return narrowdirstate.wrapdirstate(self, dirstate)
Martin von Zweigbergk
narrow: check "narrow" wire protocol capability, not bundle2 capability...
r39564 def peer(self):
peer = super(narrowrepository, self).peer()
Martin von Zweigbergk
narrow: move wire proto capabilities to narrowwirepeer...
r39565 peer._caps.add(narrowwirepeer.NARROWCAP)
peer._caps.add(narrowwirepeer.ELLIPSESCAP)
Martin von Zweigbergk
narrow: check "narrow" wire protocol capability, not bundle2 capability...
r39564 return peer
Augie Fackler
narrow: import experimental extension from narrowhg revision cb51d673e9c5...
r36096 repo.__class__ = narrowrepository