Mercurial > hg
annotate mercurial/pushkey.py @ 15292:7fa471248185 stable
discovery: Fix error print mentioning a 'None' branch
When talking to old server discovery use heads of the 'None' branch to refer to
topological heads. This use of None should never make it to the end user.
author | Pierre-Yves David <pierre-yves.david@logilab.fr> |
---|---|
date | Mon, 17 Oct 2011 11:37:59 +0200 |
parents | 689bf32b3bbd |
children | 79cc89de5be1 |
rev | line source |
---|---|
11367 | 1 # pushkey.py - dispatching for pushing and pulling keys |
2 # | |
3 # Copyright 2010 Matt Mackall <mpm@selenic.com> | |
4 # | |
5 # This software may be used and distributed according to the terms of the | |
6 # GNU General Public License version 2 or any later version. | |
7 | |
13353
689bf32b3bbd
bookmarks: move pushkey functions into core
Matt Mackall <mpm@selenic.com>
parents:
11367
diff
changeset
|
8 import bookmarks |
689bf32b3bbd
bookmarks: move pushkey functions into core
Matt Mackall <mpm@selenic.com>
parents:
11367
diff
changeset
|
9 |
11367 | 10 def _nslist(repo): |
11 n = {} | |
12 for k in _namespaces: | |
13 n[k] = "" | |
14 return n | |
15 | |
13353
689bf32b3bbd
bookmarks: move pushkey functions into core
Matt Mackall <mpm@selenic.com>
parents:
11367
diff
changeset
|
16 _namespaces = {"namespaces": (lambda *x: False, _nslist), |
689bf32b3bbd
bookmarks: move pushkey functions into core
Matt Mackall <mpm@selenic.com>
parents:
11367
diff
changeset
|
17 "bookmarks": (bookmarks.pushbookmark, bookmarks.listbookmarks)} |
11367 | 18 |
19 def register(namespace, pushkey, listkeys): | |
20 _namespaces[namespace] = (pushkey, listkeys) | |
21 | |
22 def _get(namespace): | |
23 return _namespaces.get(namespace, (lambda *x: False, lambda *x: {})) | |
24 | |
25 def push(repo, namespace, key, old, new): | |
26 '''should succeed iff value was old''' | |
27 pk = _get(namespace)[0] | |
28 return pk(repo, key, old, new) | |
29 | |
30 def list(repo, namespace): | |
31 '''return a dict''' | |
32 lk = _get(namespace)[1] | |
33 return lk(repo) | |
34 |