equal
deleted
inserted
replaced
|
1 create verbosemmap.py |
|
2 $ cat << EOF > verbosemmap.py |
|
3 > # extension to make util.mmapread verbose |
|
4 > |
|
5 > from __future__ import absolute_import |
|
6 > |
|
7 > from mercurial import ( |
|
8 > extensions, |
|
9 > util, |
|
10 > ) |
|
11 > |
|
12 > def mmapread(orig, fp): |
|
13 > print "mmapping %s" % fp.name |
|
14 > return orig(fp) |
|
15 > |
|
16 > def extsetup(ui): |
|
17 > extensions.wrapfunction(util, 'mmapread', mmapread) |
|
18 > EOF |
|
19 |
|
20 setting up base repo |
|
21 $ hg init a |
|
22 $ cd a |
|
23 $ touch a |
|
24 $ hg add a |
|
25 $ hg commit -qm base |
|
26 $ for i in `$TESTDIR/seq.py 1 100` ; do |
|
27 > echo $i > a |
|
28 > hg commit -qm $i |
|
29 > done |
|
30 |
|
31 set up verbosemmap extension |
|
32 $ cat << EOF >> $HGRCPATH |
|
33 > [extensions] |
|
34 > verbosemmap=$TESTTMP/verbosemmap.py |
|
35 > EOF |
|
36 |
|
37 mmap index which is now more than 4k long |
|
38 $ hg log -l 5 -T '{rev}\n' --config experimental.mmapindexthreshold=4k |
|
39 mmapping $TESTTMP/a/.hg/store/00changelog.i (glob) |
|
40 100 |
|
41 99 |
|
42 98 |
|
43 97 |
|
44 96 |
|
45 |
|
46 do not mmap index which is still less than 32k |
|
47 $ hg log -l 5 -T '{rev}\n' --config experimental.mmapindexthreshold=32k |
|
48 100 |
|
49 99 |
|
50 98 |
|
51 97 |
|
52 96 |
|
53 |
|
54 $ cd .. |