##// END OF EJS Templates
doc: make it easier to read how to enable extensions...
doc: make it easier to read how to enable extensions We tell people all the time that enabling extensions is not a scary thing to do, but we don't make it easy enough for an absolute novice to do so. When they see a suggestion to do "hg extfoo bar", the error message tells them "see hg help extensions", but that help page doesn't actually tell them where configuration files are. Furthermore, the big warning about why extensions aren't enabled by default should be pushed down a little bit. Most of the extensions shipped by hg are not all that scary, and some very basic and useful cosmetic extensions like graphlog, color, pager, and progress, should be enabled for many hg users.

File last commit:

r17298:59c14bf5 stable
r19296:da16d21c stable
Show More
pushkey.py
39 lines | 1.1 KiB | text/x-python | PythonLexer
Matt Mackall
pushkey: add pushkey core
r11367 # pushkey.py - dispatching for pushing and pulling keys
#
# Copyright 2010 Matt Mackall <mpm@selenic.com>
#
# This software may be used and distributed according to the terms of the
# GNU General Public License version 2 or any later version.
Pierre-Yves.David@ens-lyon.org
obsolete: exchange obsolete marker over pushkey...
r17075 import bookmarks, phases, obsolete
Matt Mackall
bookmarks: move pushkey functions into core
r13353
Matt Mackall
pushkey: add pushkey core
r11367 def _nslist(repo):
n = {}
for k in _namespaces:
n[k] = ""
Pierre-Yves David
pushkey: do not exchange obsole markers if feature is disabled...
r17298 if not obsolete._enabled:
n.pop('obsolete')
Matt Mackall
pushkey: add pushkey core
r11367 return n
Matt Mackall
bookmarks: move pushkey functions into core
r13353 _namespaces = {"namespaces": (lambda *x: False, _nslist),
Pierre-Yves David
phases: add basic pushkey support
r15648 "bookmarks": (bookmarks.pushbookmark, bookmarks.listbookmarks),
"phases": (phases.pushphase, phases.listphases),
Pierre-Yves.David@ens-lyon.org
obsolete: exchange obsolete marker over pushkey...
r17075 "obsolete": (obsolete.pushmarker, obsolete.listmarkers),
Pierre-Yves David
phases: add basic pushkey support
r15648 }
Matt Mackall
pushkey: add pushkey core
r11367
def register(namespace, pushkey, listkeys):
_namespaces[namespace] = (pushkey, listkeys)
def _get(namespace):
return _namespaces.get(namespace, (lambda *x: False, lambda *x: {}))
def push(repo, namespace, key, old, new):
'''should succeed iff value was old'''
pk = _get(namespace)[0]
return pk(repo, key, old, new)
def list(repo, namespace):
'''return a dict'''
lk = _get(namespace)[1]
return lk(repo)