Mercurial > hg
annotate mercurial/pushkey.py @ 13579:3cbb3c57a50e
transplant: added 'HGREVISION' variable to the environment passed to the 'filter' command
Sometimes it is necessary to know the original revision ID in order to
correctly rewrite the patch or commit message when transplanting. This
patch follows the pattern set by the existing 'HGUSER' environment variable,
and adds a test that covers both HGUSER and HGREVISION.
author | Luke Plant <L.Plant.98@cantab.net> |
---|---|
date | Fri, 11 Mar 2011 15:48:44 +0000 |
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 |