##// END OF EJS Templates
context: move logic from changectx.__init__ to localrepo.__getitem__ (API)...
context: move logic from changectx.__init__ to localrepo.__getitem__ (API) My motivation for this change was to make repo[node] not load the dirstate (more about that in the next patch), but I think it makes more sense this way too. For example, raising RepoLookupError seems to belong better in the repo lookup function (i.e. localrepo.__getitem__). This makes the changectx constructor very simple -- it just assigns the given repo, revnum, and nodeid to properties. Differential Revision: https://phab.mercurial-scm.org/D4827

File last commit:

r39970:a24f4638 default
r39994:3d35304b default
Show More
narrowrepo.py
33 lines | 930 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
Pulkit Goyal
narrow: move the wireprotocol narrow capability name to core...
r39969 from mercurial import (
wireprotoserver,
)
Augie Fackler
narrow: import experimental extension from narrowhg revision cb51d673e9c5...
r36096 from . import (
Kyle Lippincott
narrow: only wrap dirstate functions once, instead of per-reposetup...
r38142 narrowdirstate,
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()
Pulkit Goyal
narrow: move the wireprotocol narrow capability name to core...
r39969 peer._caps.add(wireprotoserver.NARROWCAP)
Pulkit Goyal
narrow: move the ellipses server capability to core...
r39970 peer._caps.add(wireprotoserver.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