##// END OF EJS Templates
censor: inform the user that we are spending time checking heads...
censor: inform the user that we are spending time checking heads The time this can consume can be a surprise to the user, lets be explicit about it.

File last commit:

r49730:6000f5b2 default
r52160:195ab99c default
Show More
__init__.py
77 lines | 2.3 KiB | text/x-python | PythonLexer
Augie Fackler
narrow: import experimental extension from narrowhg revision cb51d673e9c5...
r36096 # __init__.py - narrowhg extension
#
# 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.
'''create clones which fetch history data for subset of files (EXPERIMENTAL)'''
from mercurial import (
localrepo,
registrar,
Pulkit Goyal
requirements: introduce new requirements related module...
r45932 requirements,
Pulkit Goyal
interfaces: create a new folder for interfaces and move repository.py in it...
r43078 )
Augie Fackler
narrow: import experimental extension from narrowhg revision cb51d673e9c5...
r36096
from . import (
narrowbundle2,
narrowcommands,
narrowrepo,
narrowtemplates,
narrowwirepeer,
)
Matt Harbison
narrow: move `testedwith` after module imports...
r44418 # Note for extension authors: ONLY specify testedwith = 'ships-with-hg-core' for
# extensions which SHIP WITH MERCURIAL. Non-mainline extensions should
# be specifying the version(s) of Mercurial they are tested with, or
# leave the attribute unspecified.
testedwith = b'ships-with-hg-core'
Augie Fackler
narrow: import experimental extension from narrowhg revision cb51d673e9c5...
r36096 configtable = {}
configitem = registrar.configitem(configtable)
# Narrowhg *has* support for serving ellipsis nodes (which are used at
# least by Google's internal server), but that support is pretty
# fragile and has a lot of problems on real-world repositories that
# have complex graph topologies. This could probably be corrected, but
# absent someone needing the full support for ellipsis nodes in
# repositories with merges, it's unlikely this work will get done. As
# of this writining in late 2017, all repositories large enough for
# ellipsis nodes to be a hard requirement also enforce strictly linear
# history for other scaling reasons.
Augie Fackler
formatting: blacken the codebase...
r43346 configitem(
Augie Fackler
formatting: byteify all mercurial/ and hgext/ string literals...
r43347 b'experimental',
b'narrowservebrokenellipses',
Augie Fackler
formatting: blacken the codebase...
r43346 default=False,
Augie Fackler
formatting: byteify all mercurial/ and hgext/ string literals...
r43347 alias=[(b'narrow', b'serveellipses')],
Augie Fackler
narrow: import experimental extension from narrowhg revision cb51d673e9c5...
r36096 )
# Export the commands table for Mercurial to see.
cmdtable = narrowcommands.table
Augie Fackler
formatting: blacken the codebase...
r43346
Gregory Szorc
narrow: use featuresetupfuncs...
r37154 def featuresetup(ui, features):
Pulkit Goyal
requirements: introduce new requirements related module...
r45932 features.add(requirements.NARROW_REQUIREMENT)
Augie Fackler
narrow: import experimental extension from narrowhg revision cb51d673e9c5...
r36096
Augie Fackler
formatting: blacken the codebase...
r43346
Augie Fackler
narrow: import experimental extension from narrowhg revision cb51d673e9c5...
r36096 def uisetup(ui):
"""Wraps user-facing mercurial commands with narrow-aware versions."""
Gregory Szorc
narrow: use featuresetupfuncs...
r37154 localrepo.featuresetupfuncs.add(featuresetup)
Augie Fackler
narrow: import experimental extension from narrowhg revision cb51d673e9c5...
r36096 narrowbundle2.setup()
narrowcommands.setup()
narrowwirepeer.uisetup()
Augie Fackler
formatting: blacken the codebase...
r43346
Augie Fackler
narrow: import experimental extension from narrowhg revision cb51d673e9c5...
r36096 def reposetup(ui, repo):
"""Wraps local repositories with narrow repo support."""
Martin von Zweigbergk
narrow: use repo.local() instead of isinstance()...
r37203 if not repo.local():
Augie Fackler
narrow: import experimental extension from narrowhg revision cb51d673e9c5...
r36096 return
Augie Fackler
formatting: byteify all mercurial/ and hgext/ string literals...
r43347 repo.ui.setconfig(b'experimental', b'narrow', True, b'narrow-ext')
Pulkit Goyal
requirements: introduce new requirements related module...
r45932 if requirements.NARROW_REQUIREMENT in repo.requirements:
Kyle Lippincott
narrow: only wrap dirstate functions once, instead of per-reposetup...
r38142 narrowrepo.wraprepo(repo)
Augie Fackler
narrow: import experimental extension from narrowhg revision cb51d673e9c5...
r36096 narrowwirepeer.reposetup(repo)
Augie Fackler
formatting: blacken the codebase...
r43346
Augie Fackler
narrowtemplates: update to use registrar mechanism...
r36108 templatekeyword = narrowtemplates.templatekeyword
revsetpredicate = narrowtemplates.revsetpredicate