##// END OF EJS Templates
drawdag: provide filenode for its dummy filectx...
drawdag: provide filenode for its dummy filectx basefctx has filenode, which will be used in a future fast path of skipping flag processor during repo._filecommit. This patch adds filenode to drawdag's faked filectx so we don't need to use hasattr in localrepo.py.

File last commit:

r29316:28dfcf3d default
r32305:91105798 default
Show More
wirestore.py
39 lines | 1.3 KiB | text/x-python | PythonLexer
various
hgext: add largefiles extension...
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.
Greg Ward
largefiles: improve comments, internal docstrings...
r15252 '''largefile store working over Mercurial's wire protocol'''
liscju
py3: make largefiles/wirestore.py use absolute_import
r29316 from __future__ import absolute_import
various
hgext: add largefiles extension...
r15168
liscju
py3: make largefiles/wirestore.py use absolute_import
r29316 from . import (
lfutil,
remotestore,
)
various
hgext: add largefiles extension...
r15168
class wirestore(remotestore.remotestore):
def __init__(self, ui, repo, remote):
cap = remote.capable('largefiles')
if not cap:
raise lfutil.storeprotonotcapable([])
storetypes = cap.split(',')
Brodie Rao
cleanup: "not x in y" -> "x not in y"
r16686 if 'serve' not in storetypes:
various
hgext: add largefiles extension...
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)
Na'Tosha Bard
largefiles: batch statlfile requests when pushing a largefiles repo (issue3386)...
r17127 def _stat(self, hashes):
Mads Kiilerich
largefiles: stat all largefiles in one batch before downloading...
r19008 '''For each hash, return 0 if it is available, other values if not.
It is usually 2 if the largefile is missing, but might be 1 the server
has a corrupted copy.'''
Augie Fackler
largefiles: use iterbatch instead of batch...
r28439 batch = self.remote.iterbatch()
Na'Tosha Bard
largefiles: batch statlfile requests when pushing a largefiles repo (issue3386)...
r17127 for hash in hashes:
Augie Fackler
largefiles: use iterbatch instead of batch...
r28439 batch.statlfile(hash)
Na'Tosha Bard
largefiles: batch statlfile requests when pushing a largefiles repo (issue3386)...
r17127 batch.submit()
Augie Fackler
largefiles: use iterbatch instead of batch...
r28439 return dict(zip(hashes, batch.results()))