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.


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:

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:

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:

log = '/tmp/inotify.log'

See also


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