diff --git a/hgext/inotify/server.py b/hgext/inotify/server.py --- a/hgext/inotify/server.py +++ b/hgext/inotify/server.py @@ -849,9 +849,14 @@ def start(ui, dirstate, root, opts): finally: self.master.shutdown() - runargs = None if 'inserve' not in sys.argv: runargs = [sys.argv[0], 'inserve', '-R', root] + else: + runargs = sys.argv[:] + + pidfile = ui.config('inotify', 'pidfile') + if opts['daemon'] and pidfile is not None and 'pid-file' not in runargs: + runargs.append("--pid-file=%s" % pidfile) service = service() logfile = ui.config('inotify', 'log') diff --git a/tests/test-inotify b/tests/test-inotify --- a/tests/test-inotify +++ b/tests/test-inotify @@ -20,7 +20,11 @@ echo "inotify=" >> $HGRCPATH cd repo2 echo b >> a # check that daemon started automatically works correctly -hg status +# and make sure that inotify.pidfile works +hg --config "inotify.pidfile=../hg2.pid" status + +# make sure that pidfile worked. Output should be silent. +kill `cat ../hg2.pid` cd ../repo1 echo % inserve diff --git a/tests/test-inotify-dirty-dirstate b/tests/test-inotify-dirty-dirstate --- a/tests/test-inotify-dirty-dirstate +++ b/tests/test-inotify-dirty-dirstate @@ -20,10 +20,10 @@ hg ci -m foo cd .. -hg --config "extensions.inotify=!" clone test test2 +hg --config "inotify.pidfile=../hg2.pid" clone test test2 +cat ../hg2.pid >> "$DAEMON_PIDS" + cd test2 -hg inserve -d --pid-file=../hg2.pid -cat ../hg2.pid >> "$DAEMON_PIDS" echo bar > bar hg add hg ci -m bar