##// END OF EJS Templates
largefiles: delegate to the wrapped clone command...
largefiles: delegate to the wrapped clone command This allows the wrapped command's validation code to run (which is currently only to ensure 'noupdate' and 'updaterev' aren't both specified), the copy/pasted unpacking of hg.clone() args to be removed, and any future changes to the base command (however unlikely) to be inherited by largefiles. Unfortunately, the command override can't be swapped entirely for an hg.clone() override because the extra --all-largefiles arg needs to be injected. It also isn't enough to call the wrapped clone command and leave the caching code after it, because the file caching code needs access to the destination repo, which is only available from hg.clone(). An alternative would be to use the dest path in the clone command override to re-obtain a reference to the repo. A slight deviation from the regular hg.clone() function is that the repo is NOT deleted if the caching fails, but that was also the previous behavior. Maybe it should for consistency?

File last commit:

r13400:14f3795a default
r17601:6e2ab601 stable
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')