Mercurial > hg
annotate tests/test-inotify-dirty-dirstate @ 9855:f47c0881b16e
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.
author | Nicolas Dumazet <nicdumz.commits@gmail.com> |
---|---|
date | Wed, 11 Nov 2009 14:38:59 +0900 |
parents | |
children | 951ec6c7d703 |
rev | line source |
---|---|
9855
f47c0881b16e
inotify: Do not access inotify when dirstate is dirty (issue1811)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff
changeset
|
1 #!/bin/sh |
f47c0881b16e
inotify: Do not access inotify when dirstate is dirty (issue1811)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff
changeset
|
2 |
f47c0881b16e
inotify: Do not access inotify when dirstate is dirty (issue1811)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff
changeset
|
3 # issues when status queries are issued when dirstate is dirty |
f47c0881b16e
inotify: Do not access inotify when dirstate is dirty (issue1811)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff
changeset
|
4 |
f47c0881b16e
inotify: Do not access inotify when dirstate is dirty (issue1811)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff
changeset
|
5 "$TESTDIR/hghave" inotify || exit 80 |
f47c0881b16e
inotify: Do not access inotify when dirstate is dirty (issue1811)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff
changeset
|
6 |
f47c0881b16e
inotify: Do not access inotify when dirstate is dirty (issue1811)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff
changeset
|
7 echo "[extensions]" >> $HGRCPATH |
f47c0881b16e
inotify: Do not access inotify when dirstate is dirty (issue1811)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff
changeset
|
8 echo "inotify=" >> $HGRCPATH |
f47c0881b16e
inotify: Do not access inotify when dirstate is dirty (issue1811)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff
changeset
|
9 echo "fetch=" >> $HGRCPATH |
f47c0881b16e
inotify: Do not access inotify when dirstate is dirty (issue1811)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff
changeset
|
10 |
f47c0881b16e
inotify: Do not access inotify when dirstate is dirty (issue1811)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff
changeset
|
11 echo % issue1810: inotify and fetch |
f47c0881b16e
inotify: Do not access inotify when dirstate is dirty (issue1811)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff
changeset
|
12 mkdir test; cd test |
f47c0881b16e
inotify: Do not access inotify when dirstate is dirty (issue1811)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff
changeset
|
13 hg init |
f47c0881b16e
inotify: Do not access inotify when dirstate is dirty (issue1811)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff
changeset
|
14 |
f47c0881b16e
inotify: Do not access inotify when dirstate is dirty (issue1811)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff
changeset
|
15 echo foo > foo |
f47c0881b16e
inotify: Do not access inotify when dirstate is dirty (issue1811)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff
changeset
|
16 hg add |
f47c0881b16e
inotify: Do not access inotify when dirstate is dirty (issue1811)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff
changeset
|
17 hg ci -m foo |
f47c0881b16e
inotify: Do not access inotify when dirstate is dirty (issue1811)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff
changeset
|
18 |
f47c0881b16e
inotify: Do not access inotify when dirstate is dirty (issue1811)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff
changeset
|
19 cd .. |
f47c0881b16e
inotify: Do not access inotify when dirstate is dirty (issue1811)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff
changeset
|
20 |
f47c0881b16e
inotify: Do not access inotify when dirstate is dirty (issue1811)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff
changeset
|
21 hg clone test test2 |
f47c0881b16e
inotify: Do not access inotify when dirstate is dirty (issue1811)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff
changeset
|
22 cd test2 |
f47c0881b16e
inotify: Do not access inotify when dirstate is dirty (issue1811)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff
changeset
|
23 echo bar > bar |
f47c0881b16e
inotify: Do not access inotify when dirstate is dirty (issue1811)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff
changeset
|
24 hg add |
f47c0881b16e
inotify: Do not access inotify when dirstate is dirty (issue1811)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff
changeset
|
25 hg ci -m bar |
f47c0881b16e
inotify: Do not access inotify when dirstate is dirty (issue1811)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff
changeset
|
26 cd ../test |
f47c0881b16e
inotify: Do not access inotify when dirstate is dirty (issue1811)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff
changeset
|
27 echo spam > spam |
f47c0881b16e
inotify: Do not access inotify when dirstate is dirty (issue1811)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff
changeset
|
28 hg add |
f47c0881b16e
inotify: Do not access inotify when dirstate is dirty (issue1811)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff
changeset
|
29 hg ci -m spam |
f47c0881b16e
inotify: Do not access inotify when dirstate is dirty (issue1811)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff
changeset
|
30 cd ../test2 |
f47c0881b16e
inotify: Do not access inotify when dirstate is dirty (issue1811)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff
changeset
|
31 hg st |
f47c0881b16e
inotify: Do not access inotify when dirstate is dirty (issue1811)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff
changeset
|
32 |
f47c0881b16e
inotify: Do not access inotify when dirstate is dirty (issue1811)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff
changeset
|
33 # abort, outstanding changes |
f47c0881b16e
inotify: Do not access inotify when dirstate is dirty (issue1811)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff
changeset
|
34 hg fetch -q |
f47c0881b16e
inotify: Do not access inotify when dirstate is dirty (issue1811)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff
changeset
|
35 hg st |
f47c0881b16e
inotify: Do not access inotify when dirstate is dirty (issue1811)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff
changeset
|
36 cd .. |
f47c0881b16e
inotify: Do not access inotify when dirstate is dirty (issue1811)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff
changeset
|
37 |
f47c0881b16e
inotify: Do not access inotify when dirstate is dirty (issue1811)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff
changeset
|
38 |
f47c0881b16e
inotify: Do not access inotify when dirstate is dirty (issue1811)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff
changeset
|
39 echo % issue1719: inotify and mq |
f47c0881b16e
inotify: Do not access inotify when dirstate is dirty (issue1811)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff
changeset
|
40 |
f47c0881b16e
inotify: Do not access inotify when dirstate is dirty (issue1811)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff
changeset
|
41 echo "mq=" >> $HGRCPATH |
f47c0881b16e
inotify: Do not access inotify when dirstate is dirty (issue1811)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff
changeset
|
42 |
f47c0881b16e
inotify: Do not access inotify when dirstate is dirty (issue1811)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff
changeset
|
43 hg init test-1719 |
f47c0881b16e
inotify: Do not access inotify when dirstate is dirty (issue1811)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff
changeset
|
44 cd test-1719 |
f47c0881b16e
inotify: Do not access inotify when dirstate is dirty (issue1811)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff
changeset
|
45 |
f47c0881b16e
inotify: Do not access inotify when dirstate is dirty (issue1811)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff
changeset
|
46 echo % inserve |
f47c0881b16e
inotify: Do not access inotify when dirstate is dirty (issue1811)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff
changeset
|
47 hg inserve -d --pid-file=hg.pid |
f47c0881b16e
inotify: Do not access inotify when dirstate is dirty (issue1811)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff
changeset
|
48 cat hg.pid >> "$DAEMON_PIDS" |
f47c0881b16e
inotify: Do not access inotify when dirstate is dirty (issue1811)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff
changeset
|
49 |
f47c0881b16e
inotify: Do not access inotify when dirstate is dirty (issue1811)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff
changeset
|
50 echo content > file |
f47c0881b16e
inotify: Do not access inotify when dirstate is dirty (issue1811)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff
changeset
|
51 hg add file |
f47c0881b16e
inotify: Do not access inotify when dirstate is dirty (issue1811)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff
changeset
|
52 |
f47c0881b16e
inotify: Do not access inotify when dirstate is dirty (issue1811)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff
changeset
|
53 hg qnew -f test.patch |
f47c0881b16e
inotify: Do not access inotify when dirstate is dirty (issue1811)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff
changeset
|
54 |
f47c0881b16e
inotify: Do not access inotify when dirstate is dirty (issue1811)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff
changeset
|
55 hg status |
f47c0881b16e
inotify: Do not access inotify when dirstate is dirty (issue1811)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff
changeset
|
56 hg qpop |
f47c0881b16e
inotify: Do not access inotify when dirstate is dirty (issue1811)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff
changeset
|
57 |
f47c0881b16e
inotify: Do not access inotify when dirstate is dirty (issue1811)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff
changeset
|
58 echo % st should not output anything |
f47c0881b16e
inotify: Do not access inotify when dirstate is dirty (issue1811)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff
changeset
|
59 hg status |
f47c0881b16e
inotify: Do not access inotify when dirstate is dirty (issue1811)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff
changeset
|
60 |
f47c0881b16e
inotify: Do not access inotify when dirstate is dirty (issue1811)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff
changeset
|
61 hg qpush |
f47c0881b16e
inotify: Do not access inotify when dirstate is dirty (issue1811)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff
changeset
|
62 |
f47c0881b16e
inotify: Do not access inotify when dirstate is dirty (issue1811)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff
changeset
|
63 echo % st should not output anything |
f47c0881b16e
inotify: Do not access inotify when dirstate is dirty (issue1811)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff
changeset
|
64 hg status |
f47c0881b16e
inotify: Do not access inotify when dirstate is dirty (issue1811)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff
changeset
|
65 |
f47c0881b16e
inotify: Do not access inotify when dirstate is dirty (issue1811)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff
changeset
|
66 hg qrefresh |
f47c0881b16e
inotify: Do not access inotify when dirstate is dirty (issue1811)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff
changeset
|
67 hg status |