--- a/hgext/inotify/server.py Thu Nov 19 23:39:30 2009 +0100
+++ b/hgext/inotify/server.py Fri Nov 20 02:34:56 2009 +0100
@@ -849,9 +849,14 @@
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')
--- a/mercurial/cmdutil.py Thu Nov 19 23:39:30 2009 +0100
+++ b/mercurial/cmdutil.py Fri Nov 20 02:34:56 2009 +0100
@@ -571,7 +571,7 @@
if parentfn:
return parentfn(pid)
else:
- os._exit(0)
+ return
if initfn:
initfn()
--- a/tests/test-inotify Thu Nov 19 23:39:30 2009 +0100
+++ b/tests/test-inotify Fri Nov 20 02:34:56 2009 +0100
@@ -2,7 +2,8 @@
"$TESTDIR/hghave" inotify || exit 80
-hg init
+hg init repo1
+cd repo1
touch a b c d e
mkdir dir
@@ -10,10 +11,22 @@
touch dir/x dir/y dir/bar/foo
hg ci -Am m
+cd ..
+hg clone repo1 repo2
echo "[extensions]" >> $HGRCPATH
echo "inotify=" >> $HGRCPATH
+cd repo2
+echo b >> a
+# check that daemon started automatically works correctly
+# 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
hg inserve -d --pid-file=hg.pid
cat hg.pid >> "$DAEMON_PIDS"
--- a/tests/test-inotify-dirty-dirstate Thu Nov 19 23:39:30 2009 +0100
+++ b/tests/test-inotify-dirty-dirstate Fri Nov 20 02:34:56 2009 +0100
@@ -20,10 +20,10 @@
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
--- a/tests/test-inotify-issue1208.out Thu Nov 19 23:39:30 2009 +0100
+++ b/tests/test-inotify-issue1208.out Fri Nov 20 02:34:56 2009 +0100
@@ -1,5 +1,6 @@
% fail
abort: could not start server: File exists
+could not talk to new inotify server: No such file or directory
abort: could not start server: File exists
% inserve
% status
--- a/tests/test-inotify.out Thu Nov 19 23:39:30 2009 +0100
+++ b/tests/test-inotify.out Fri Nov 20 02:34:56 2009 +0100
@@ -6,6 +6,9 @@
adding dir/x
adding dir/y
adding e
+updating to branch default
+8 files updated, 0 files merged, 0 files removed, 0 files unresolved
+M a
% inserve
? hg.pid
% clean