##// END OF EJS Templates
revlog: change _addrevision to return the new revision...
revlog: change _addrevision to return the new revision The node is passed as argument already, so returning it is quite pointless. The revision number on the other is useful as it decouples the caller from the revlog internals. Differential Revision: https://phab.mercurial-scm.org/D9880

File last commit:

r46554:89a2afe3 default
r47234:9f8f0df3 default
Show More
wirestore.py
52 lines | 1.6 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
Augie Fackler
formatting: blacken the codebase...
r43346
various
hgext: add largefiles extension...
r15168 class wirestore(remotestore.remotestore):
def __init__(self, ui, repo, remote):
Augie Fackler
formatting: byteify all mercurial/ and hgext/ string literals...
r43347 cap = remote.capable(b'largefiles')
various
hgext: add largefiles extension...
r15168 if not cap:
raise lfutil.storeprotonotcapable([])
Augie Fackler
formatting: byteify all mercurial/ and hgext/ string literals...
r43347 storetypes = cap.split(b',')
if b'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):
Augie Fackler
formating: upgrade to black 20.8b1...
r46554 """For each hash, return 0 if it is available, other values if not.
Mads Kiilerich
largefiles: stat all largefiles in one batch before downloading...
r19008 It is usually 2 if the largefile is missing, but might be 1 the server
Augie Fackler
formating: upgrade to black 20.8b1...
r46554 has a corrupted copy."""
Gregory Szorc
largefiles: use command executor for batch operation...
r37650
with self.remote.commandexecutor() as e:
fs = []
for hash in hashes:
Augie Fackler
formating: upgrade to black 20.8b1...
r46554 fs.append(
(
hash,
e.callcommand(
b'statlfile',
{
b'sha': hash,
},
),
)
)
Gregory Szorc
largefiles: use command executor for batch operation...
r37650
return {hash: f.result() for hash, f in fs}