tests/test-inotify-dirty-dirstate
author Nicolas Dumazet <nicdumz.commits@gmail.com>
Wed, 11 Nov 2009 14:38:59 +0900
changeset 9855 f47c0881b16e
child 9859 951ec6c7d703
permissions -rwxr-xr-x
inotify: Do not access inotify when dirstate is dirty (issue1811) Original patch was provided by Simon Heimberg It delegates dirstate computation to dirstate.status when dirstate is dirty: better be slow from time to time instead of using wrong data. This solves issue1719. As the last component, issue1810, is still not solved, test-inotify-dirty-dirstate will fail for now. It emphasizes a regression due to 7c01599dd340: changeset: 9515:7c01599dd340 user: Nicolas Dumazet <nicdumz.commits@gmail.com> date: Sun Aug 16 11:11:37 2009 +0900 summary: inotify: use cmdutil.service instead of local daemonizing code Ancestors of 7c01599dd30 are passing the test, when applied this patch. Regression has to be investigated, but this patch is important since it affects often mq operations.

#!/bin/sh

# issues when status queries are issued when dirstate is dirty

"$TESTDIR/hghave" inotify || exit 80

echo "[extensions]" >> $HGRCPATH
echo "inotify=" >> $HGRCPATH
echo "fetch=" >> $HGRCPATH

echo % issue1810: inotify and fetch
mkdir test; cd test
hg init

echo foo > foo
hg add
hg ci -m foo

cd ..

hg clone test test2
cd test2
echo bar > bar
hg add
hg ci -m bar
cd ../test
echo spam > spam
hg add
hg ci -m spam
cd ../test2
hg st

# abort, outstanding changes
hg fetch -q
hg st
cd ..


echo % issue1719: inotify and mq

echo "mq=" >> $HGRCPATH

hg init test-1719
cd test-1719

echo % inserve
hg inserve -d --pid-file=hg.pid
cat hg.pid >> "$DAEMON_PIDS"

echo content > file
hg add file

hg qnew -f test.patch

hg status
hg qpop

echo % st should not output anything
hg status

hg qpush

echo % st should not output anything
hg status

hg qrefresh
hg status