Differences between revisions 3 and 31 (spanning 28 versions)
Revision 3 as of 2007-06-05 19:47:44
Size: 1102
Editor: BrendanCully
Comment: Flesh out inotify instructions a bit
Revision 31 as of 2014-03-24 01:53:35
Size: 1863
Editor: Rain
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
== Inotify Extension == = Inotify Extension =
Line 3: Line 3:
'''This extension is not distributed with Mercurial.''' ''Authors: Bryan O'Sullivan, Nicolas Dumazet''
Line 5: Line 5:
''Author: Bryan O'Sullivan'' '''This extension was included with Mercurial 1.0–2.9. It was [[http://www.selenic.com/repo/hg/rev/352abbb0be88|removed]] in Mercurial 3.0, and enabling it is now a no-op.'''
Line 7: Line 7:
Download site: [http://hg.kublai.com/mercurial/patches/inotify] <!> This feature is [[UnlovedFeatures|unloved]].
Line 9: Line 9:
It is not yet a standalone extension. You will have to apply the patch queue to a mercurial tree and use that version of mercurial. <!> This feature has known correctness issues. '''Do not use it if you care about your sanity.''' Consider using HgwatchmanExtension instead.
Line 11: Line 11:
It also requires Bryan's [http://hg.kublai.com/python/inotify python bindings for inotify]. == Overview ==
Line 13: Line 13:
=== Overview === This extension makes status requests instantaneous for even very large repositories, by subscribing to the paths in the repository instead of having to check them all at every status command.
Line 15: Line 15:
This extension uses the linux 2.6 inotify API to make status instantaneous for even very large repositories, by subscribing to the paths in the repository instead of having to check them all at every status command. Inotify is currently a Linux-only extension, using the Linux 2.6 inotify API.
Line 17: Line 17:
=== Configuration ===
Configure your .hgrc to enable the extension by adding following lines:
An alpha Mac OS port is now available: it uses the MacOS 10.5 FSEvents API through the [[http://pypi.python.org/pypi/pyfsevents|pyfsevents]] module. It can be tested by ''qcloning'' [[http://bitbucket.org/nicdumz/mercurial-crew-mq/|Nicolas's MQ]] (''hg qclone [url]; hg qpush -a'')

== Installation and configuration ==

To enable it, edit your hgrc:
Line 22: Line 25:
inotify=/path/to/inotify inotify =
Line 25: Line 28:
You can either start up the inotify extension on a repository with {{{hg inserve}}} or have it autostart with the following .hgrc snippet (either global or in the repository {{{.hg/hgrc}}} in which you would like to use inotify: You can either enable it for each individual repository you need it in, or globally.

The extension contains both a server and a client component. By default, it will start automatically. To prevent this, edit either your global ~/.hgrc or .hg/hgrc in repositories where you don't want to use inotify:
Line 29: Line 34:
autostart = true autostart = False
Line 32: Line 37:
The server runs in the background as a daemon when started automatically. To start it manually, use the command:

{{{
$ hg inserve [-d]
}}}

By default, the server output will be lost. You can use the ''log'' option to capture the server output:

{{{
[inotify]
log = '/tmp/inotify.log'
}}}

== See also ==

 * InotifyBug
Line 33: Line 55:
CategoryExtension CategoryBundledExtension

Inotify Extension

Authors: Bryan O'Sullivan, Nicolas Dumazet

This extension was included with Mercurial 1.0–2.9. It was removed in Mercurial 3.0, and enabling it is now a no-op.

<!> This feature is unloved.

<!> This feature has known correctness issues. Do not use it if you care about your sanity. Consider using HgwatchmanExtension instead.

Overview

This extension makes status requests instantaneous for even very large repositories, by subscribing to the paths in the repository instead of having to check them all at every status command.

Inotify is currently a Linux-only extension, using the Linux 2.6 inotify API.

An alpha Mac OS port is now available: it uses the MacOS 10.5 FSEvents API through the pyfsevents module. It can be tested by qcloning Nicolas's MQ (hg qclone [url]; hg qpush -a)

Installation and configuration

To enable it, edit your hgrc:

[extensions]
inotify =

You can either enable it for each individual repository you need it in, or globally.

The extension contains both a server and a client component. By default, it will start automatically. To prevent this, edit either your global ~/.hgrc or .hg/hgrc in repositories where you don't want to use inotify:

[inotify]
autostart = False

The server runs in the background as a daemon when started automatically. To start it manually, use the command:

$ hg inserve [-d]

By default, the server output will be lost. You can use the log option to capture the server output:

[inotify]
log = '/tmp/inotify.log'

See also


CategoryBundledExtension

InotifyExtension (last edited 2014-03-24 01:53:35 by Rain)