Mercurial > hg
annotate tests/test-dirstate-race.t @ 18757:1c8e0d6ac3b0 stable
localrepo: always write the filtered phasecache when nodes are destroyed (issue3827)
When the strip command is run, it calls repo.destroyed, which in turn checks if
we read _phasecache, and if we did calls filterunknown on it and flushes the
changes immediately. But in some cases, nothing causes _phasecache to be read,
so we miss out on this and the file remains the same on-disk.
Then a call to invalidate comes, which should refresh _phasecache if it
changed, but it didn't, so it keeps using the old one with the stripped
revision which causes an IndexError.
Test written by Yuya Nishihara.
author | Idan Kamara <idankk86@gmail.com> |
---|---|
date | Sat, 23 Mar 2013 13:34:50 +0200 |
parents | 28e2e3804f2e |
children | c850f0ed54c1 |
rev | line source |
---|---|
12279 | 1 $ hg init |
2 $ echo a > a | |
3 $ hg add a | |
4 $ hg commit -m test | |
5 | |
6 Do we ever miss a sub-second change?: | |
6327
6d952dc2abc9
dirstate: refactor granularity code, add a test
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
7 |
12279 | 8 $ for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20; do |
9 > hg co -qC 0 | |
10 > echo b > a | |
11 > hg st | |
12 > done | |
13 M a | |
14 M a | |
15 M a | |
16 M a | |
17 M a | |
18 M a | |
19 M a | |
20 M a | |
21 M a | |
22 M a | |
23 M a | |
24 M a | |
25 M a | |
26 M a | |
27 M a | |
28 M a | |
29 M a | |
30 M a | |
31 M a | |
32 M a | |
6327
6d952dc2abc9
dirstate: refactor granularity code, add a test
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
33 |