Mercurial > hg
annotate mercurial/pushkey.py @ 15621:013688350c7d
bookmarks: update and updatecurrentbookmark return status
This makes bookmarks.update() and bookmarks.updatecurrentbookmark() return
True or False to indicate whether the bookmark was updated or not. This allows
callers to e.g. abort if the update failed.
author | Kevin Bullock <kbullock@ringworld.org> |
---|---|
date | Wed, 16 Nov 2011 15:29:57 -0600 |
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 |