##// END OF EJS Templates
statichttprepo: don't modify localrepo class variables...
statichttprepo: don't modify localrepo class variables This happened to crash in subrepo setups when the base class variable was modified twice. Now we don't modify the class variable but an instance copy.

File last commit:

r13353:689bf32b default
r13440:286a3720 stable
Show More
pushkey.py
34 lines | 926 B | 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.
Matt Mackall
bookmarks: move pushkey functions into core
r13353 import bookmarks
Matt Mackall
pushkey: add pushkey core
r11367 def _nslist(repo):
n = {}
for k in _namespaces:
n[k] = ""
return n
Matt Mackall
bookmarks: move pushkey functions into core
r13353 _namespaces = {"namespaces": (lambda *x: False, _nslist),
"bookmarks": (bookmarks.pushbookmark, bookmarks.listbookmarks)}
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)