wirestore.py
29 lines
| 914 B
| text/x-python
|
PythonLexer
|
r15168 | # Copyright 2010-2011 Fog Creek Software | ||
# | ||||
# This software may be used and distributed according to the terms of the | ||||
# GNU General Public License version 2 or any later version. | ||||
|
r15252 | '''largefile store working over Mercurial's wire protocol''' | ||
|
r15168 | |||
import lfutil | ||||
import remotestore | ||||
class wirestore(remotestore.remotestore): | ||||
def __init__(self, ui, repo, remote): | ||||
cap = remote.capable('largefiles') | ||||
if not cap: | ||||
raise lfutil.storeprotonotcapable([]) | ||||
storetypes = cap.split(',') | ||||
|
r16686 | if 'serve' not in storetypes: | ||
|
r15168 | raise lfutil.storeprotonotcapable(storetypes) | ||
self.remote = remote | ||||
super(wirestore, self).__init__(ui, repo, remote.url()) | ||||
def _put(self, hash, fd): | ||||
return self.remote.putlfile(hash, fd) | ||||
def _get(self, hash): | ||||
return self.remote.getlfile(hash) | ||||
def _stat(self, hash): | ||||
return self.remote.statlfile(hash) | ||||