annotate tests/test-dirstate-race.t @ 18316:f36375576ed5

filecache: create an entry in _filecache when __set__ is called for a missing one Preserve the invariant that if P is a filecached property on X then P in X.__dict__ => P in X._filecache. Previously, it was possible for a filecached property to become out of sync with the filesystem if it was set before getting it first, since the initial filecacheentry was created in __get__. Old behaviour: repo.prop = x repo.invalidate() # prop has no entry in _filecache, it's not removed # from __dict__ repo.prop # returns x like before without checking with the # filesystem New: repo.prop = x # an empty entry is created in _filecache repo.invalidate() # prop is removed from __dict__ repo.prop # recreates prop
author Idan Kamara <idankk86@gmail.com>
date Mon, 17 Dec 2012 15:25:45 +0200
parents 28e2e3804f2e
children c850f0ed54c1
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 6327
diff changeset
1 $ hg init
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 6327
diff changeset
2 $ echo a > a
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 6327
diff changeset
3 $ hg add a
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 6327
diff changeset
4 $ hg commit -m test
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 6327
diff changeset
5
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 6327
diff changeset
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
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 6327
diff changeset
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
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 6327
diff changeset
9 > hg co -qC 0
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 6327
diff changeset
10 > echo b > a
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 6327
diff changeset
11 > hg st
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 6327
diff changeset
12 > done
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 6327
diff changeset
13 M a
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 6327
diff changeset
14 M a
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 6327
diff changeset
15 M a
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 6327
diff changeset
16 M a
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 6327
diff changeset
17 M a
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 6327
diff changeset
18 M a
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 6327
diff changeset
19 M a
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 6327
diff changeset
20 M a
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 6327
diff changeset
21 M a
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 6327
diff changeset
22 M a
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 6327
diff changeset
23 M a
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 6327
diff changeset
24 M a
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 6327
diff changeset
25 M a
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 6327
diff changeset
26 M a
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 6327
diff changeset
27 M a
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 6327
diff changeset
28 M a
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 6327
diff changeset
29 M a
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 6327
diff changeset
30 M a
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 6327
diff changeset
31 M a
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 6327
diff changeset
32 M a
6327
6d952dc2abc9 dirstate: refactor granularity code, add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
33