##// END OF EJS Templates
filelog: add a hasnode() method (API)...
filelog: add a hasnode() method (API) Missing in the file storage interface is the ability to query whether a specified value is a known node. This commit defines that interface member and implements it on the revlog and sqlite file stores. Storage unit tests have been added. The revlog implementation is a bit more complicated because index lookups don't consistently raise the same exception. For SQLite, we can simply look for a key in a dict. Differential Revision: https://phab.mercurial-scm.org/D5163

File last commit:

r40110:f7011b44 default
r40423:f1a39128 default
Show More
narrowrepo.py
33 lines | 927 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 (
Pulkit Goyal
wireprotoserver: move narrow capabilities to wireprototypes.py...
r40110 wireprototypes,
Pulkit Goyal
narrow: move the wireprotocol narrow capability name to core...
r39969 )
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
wireprotoserver: move narrow capabilities to wireprototypes.py...
r40110 peer._caps.add(wireprototypes.NARROWCAP)
peer._caps.add(wireprototypes.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