Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/localrepo.py @ 11368:b9eb005c54ad
pushkey: add localrepo support
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Wed, 16 Jun 2010 16:04:46 -0500 |
parents | a1aad8333864 |
children | ee1ed6afac21 |
comparison
equal
deleted
inserted
replaced
11367:ca4fc993087c | 11368:b9eb005c54ad |
---|---|
5 # This software may be used and distributed according to the terms of the | 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. | 6 # GNU General Public License version 2 or any later version. |
7 | 7 |
8 from node import bin, hex, nullid, nullrev, short | 8 from node import bin, hex, nullid, nullrev, short |
9 from i18n import _ | 9 from i18n import _ |
10 import repo, changegroup, subrepo, discovery | 10 import repo, changegroup, subrepo, discovery, pushkey |
11 import changelog, dirstate, filelog, manifest, context | 11 import changelog, dirstate, filelog, manifest, context |
12 import lock, transaction, store, encoding | 12 import lock, transaction, store, encoding |
13 import util, extensions, hook, error | 13 import util, extensions, hook, error |
14 import match as matchmod | 14 import match as matchmod |
15 import merge as mergemod | 15 import merge as mergemod |
18 from lock import release | 18 from lock import release |
19 import weakref, errno, os, time, inspect | 19 import weakref, errno, os, time, inspect |
20 propertycache = util.propertycache | 20 propertycache = util.propertycache |
21 | 21 |
22 class localrepository(repo.repository): | 22 class localrepository(repo.repository): |
23 capabilities = set(('lookup', 'changegroupsubset', 'branchmap')) | 23 capabilities = set(('lookup', 'changegroupsubset', 'branchmap', 'pushkey')) |
24 supported = set('revlogv1 store fncache shared'.split()) | 24 supported = set('revlogv1 store fncache shared'.split()) |
25 | 25 |
26 def __init__(self, baseui, path=None, create=0): | 26 def __init__(self, baseui, path=None, create=0): |
27 repo.repository.__init__(self) | 27 repo.repository.__init__(self) |
28 self.root = os.path.realpath(util.expandpath(path)) | 28 self.root = os.path.realpath(util.expandpath(path)) |
1844 | 1844 |
1845 if stream and not heads and remote.capable('stream'): | 1845 if stream and not heads and remote.capable('stream'): |
1846 return self.stream_in(remote) | 1846 return self.stream_in(remote) |
1847 return self.pull(remote, heads) | 1847 return self.pull(remote, heads) |
1848 | 1848 |
1849 def pushkey(self, namespace, key, old, new): | |
1850 return pushkey.push(self, namespace, key, old, new) | |
1851 | |
1852 def listkeys(self, namespace): | |
1853 return pushkey.list(self, namespace) | |
1854 | |
1849 # used to avoid circular references so destructors work | 1855 # used to avoid circular references so destructors work |
1850 def aftertrans(files): | 1856 def aftertrans(files): |
1851 renamefiles = [tuple(t) for t in files] | 1857 renamefiles = [tuple(t) for t in files] |
1852 def a(): | 1858 def a(): |
1853 for src, dest in renamefiles: | 1859 for src, dest in renamefiles: |