author | Bryan O'Sullivan <bryano@fb.com> |
Thu, 12 Apr 2012 15:21:54 -0700 | |
changeset 16404 | 9fca5b056c0a |
parent 15252 | 6e809bb4f969 |
child 16686 | 67964cda8701 |
permissions | -rw-r--r-- |
15168 | 1 |
# Copyright 2010-2011 Fog Creek Software |
2 |
# |
|
3 |
# This software may be used and distributed according to the terms of the |
|
4 |
# GNU General Public License version 2 or any later version. |
|
5 |
||
15252
6e809bb4f969
largefiles: improve comments, internal docstrings
Greg Ward <greg@gerg.ca>
parents:
15168
diff
changeset
|
6 |
'''largefile store working over Mercurial's wire protocol''' |
15168 | 7 |
|
8 |
import lfutil |
|
9 |
import remotestore |
|
10 |
||
11 |
class wirestore(remotestore.remotestore): |
|
12 |
def __init__(self, ui, repo, remote): |
|
13 |
cap = remote.capable('largefiles') |
|
14 |
if not cap: |
|
15 |
raise lfutil.storeprotonotcapable([]) |
|
16 |
storetypes = cap.split(',') |
|
17 |
if not 'serve' in storetypes: |
|
18 |
raise lfutil.storeprotonotcapable(storetypes) |
|
19 |
self.remote = remote |
|
20 |
super(wirestore, self).__init__(ui, repo, remote.url()) |
|
21 |
||
22 |
def _put(self, hash, fd): |
|
23 |
return self.remote.putlfile(hash, fd) |
|
24 |
||
25 |
def _get(self, hash): |
|
26 |
return self.remote.getlfile(hash) |
|
27 |
||
28 |
def _stat(self, hash): |
|
29 |
return self.remote.statlfile(hash) |