Mercurial > hg
view hgext/largefiles/wirestore.py @ 52230:7a568296296e stable
windows: simply rely on the PATH adjustment to find python.exe in tests
The shell script under a `.exe` name confused Windows outside MSYS and give us
the following error:
[…]/python.exe is not compatible with the version of Windows you're running. Check your computer's system information and then contact the software publisher.
This is necessary to get the wheel variant of the test run to work properly.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Sun, 10 Nov 2024 22:30:02 +0100 |
parents | f4733654f144 |
children |
line wrap: on
line source
# 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. '''largefile store working over Mercurial's wire protocol''' from __future__ import annotations from . import ( lfutil, remotestore, ) class wirestore(remotestore.remotestore): def __init__(self, ui, repo, remote): cap = remote.capable(b'largefiles') if not cap: raise lfutil.storeprotonotcapable([]) storetypes = cap.split(b',') if b'serve' not in storetypes: 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, hashes): """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.""" with self.remote.commandexecutor() as e: fs = [] for hash in hashes: fs.append( ( hash, e.callcommand( b'statlfile', { b'sha': hash, }, ), ) ) return {hash: f.result() for hash, f in fs}