Mercurial > hg
annotate mercurial/pushkey.py @ 14270:d6907a5674a2
revlog: support writing generaldelta revlogs
With generaldelta switched on, deltas are always computed against the first
parent when adding revisions. This is done regardless of what revision the
incoming bundle, if any, is deltaed against.
The exact delta building strategy is subject to change, but this will not
affect compatibility.
Generaldelta is switched off by default.
author | Sune Foldager <cryo@cyanite.org> |
---|---|
date | Sun, 08 May 2011 21:32:33 +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 |