##// END OF EJS Templates
parsers: fix refcount leak, simplify init of index (issue3417)...
parsers: fix refcount leak, simplify init of index (issue3417) This is most easily verified using valgrind on a long-running process, as the leak has no visible consequences during normal one-shot command usage. In one window: valgrind --leak-check=full --suppressions=valgrind-python.supp \ python ./hg serve In another: for ((i=0;i<100;i++)); do curl -s http://localhost:8000/file/tip/README >/dev/null done valgrind should report no leaks.

File last commit:

r15252:6e809bb4 default
r16572:8d44b5a2 stable
Show More
wirestore.py
29 lines | 914 B | text/x-python | PythonLexer
# 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'''
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(',')
if not 'serve' 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, hash):
return self.remote.statlfile(hash)