##// END OF EJS Templates
revlog: improve delta generation heuristics for generaldelta...
revlog: improve delta generation heuristics for generaldelta Without this change, pulls (and clones) into a generaldelta repository could generate very inefficient revlogs, the size of which could be at least twice the original size. This was caused by the generated delta chains covering too large distances, causing new chains to be built far too often. This change addresses the problem by forcing a delta against second parent or against the previous revision, when the first parent delta is in danger of creating a long chain.

File last commit:

r13400:14f3795a default
r14301:f9499376 default
Show More
__init__.py
44 lines | 1.3 KiB | text/x-python | PythonLexer
# __init__.py - low-level interfaces to the Linux inotify subsystem
# Copyright 2006 Bryan O'Sullivan <bos@serpentine.com>
# This library is free software; you can redistribute it and/or modify
# it under the terms of version 2.1 of the GNU Lesser General Public
# License, or any later version.
'''Low-level interface to the Linux inotify subsystem.
The inotify subsystem provides an efficient mechanism for file status
monitoring and change notification.
This package provides the low-level inotify system call interface and
associated constants and helper functions.
For a higher-level interface that remains highly efficient, use the
inotify.watcher package.'''
__author__ = "Bryan O'Sullivan <bos@serpentine.com>"
from _inotify import *
procfs_path = '/proc/sys/fs/inotify'
def _read_procfs_value(name):
def read_value():
try:
fp = open(procfs_path + '/' + name)
r = int(fp.read())
fp.close()
return r
except OSError:
return None
read_value.__doc__ = '''Return the value of the %s setting from /proc.
If inotify is not enabled on this system, return None.''' % name
return read_value
max_queued_events = _read_procfs_value('max_queued_events')
max_user_instances = _read_procfs_value('max_user_instances')
max_user_watches = _read_procfs_value('max_user_watches')