Mercurial > hg
annotate tests/test-revlog-mmapindex.t @ 45587:768412472663
merge: store cases when a file is absent post merge in commitinfo
Some merges can result in file being absent form working directory. This can be
one of file was kept deleted or file was removed by merge code.
User might revert the file back before committing. In such cases we will like to
have better handling and create new filenodes.
We store this info in mergestate as commitinfo so that we can use it while
committing to create new filenode if required.
Differential Revision: https://phab.mercurial-scm.org/D9003
author | Pulkit Goyal <7895pulkit@gmail.com> |
---|---|
date | Mon, 24 Aug 2020 15:35:34 +0530 |
parents | 6ebe899b6551 |
children | 42d2b31cee0b |
rev | line source |
---|---|
34296
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
1 create verbosemmap.py |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
2 $ cat << EOF > verbosemmap.py |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
3 > # extension to make util.mmapread verbose |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
4 > |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
5 > from __future__ import absolute_import |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
6 > |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
7 > from mercurial import ( |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
8 > extensions, |
35404
6ebe899b6551
py3: pass bytes from extension to ui.write() in test-revlog-mmapindex.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
35393
diff
changeset
|
9 > pycompat, |
34296
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
10 > util, |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
11 > ) |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
12 > |
34446
b0c97e44576f
test-revlog-mmapindex: make it compatible with chg
Jun Wu <quark@fb.com>
parents:
34296
diff
changeset
|
13 > def extsetup(ui): |
b0c97e44576f
test-revlog-mmapindex: make it compatible with chg
Jun Wu <quark@fb.com>
parents:
34296
diff
changeset
|
14 > def mmapread(orig, fp): |
35404
6ebe899b6551
py3: pass bytes from extension to ui.write() in test-revlog-mmapindex.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
35393
diff
changeset
|
15 > ui.write(b"mmapping %s\n" % pycompat.bytestr(fp.name)) |
34446
b0c97e44576f
test-revlog-mmapindex: make it compatible with chg
Jun Wu <quark@fb.com>
parents:
34296
diff
changeset
|
16 > ui.flush() |
b0c97e44576f
test-revlog-mmapindex: make it compatible with chg
Jun Wu <quark@fb.com>
parents:
34296
diff
changeset
|
17 > return orig(fp) |
34296
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
18 > |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
19 > extensions.wrapfunction(util, 'mmapread', mmapread) |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
20 > EOF |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
21 |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
22 setting up base repo |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
23 $ hg init a |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
24 $ cd a |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
25 $ touch a |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
26 $ hg add a |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
27 $ hg commit -qm base |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
28 $ for i in `$TESTDIR/seq.py 1 100` ; do |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
29 > echo $i > a |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
30 > hg commit -qm $i |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
31 > done |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
32 |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
33 set up verbosemmap extension |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
34 $ cat << EOF >> $HGRCPATH |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
35 > [extensions] |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
36 > verbosemmap=$TESTTMP/verbosemmap.py |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
37 > EOF |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
38 |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
39 mmap index which is now more than 4k long |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
40 $ hg log -l 5 -T '{rev}\n' --config experimental.mmapindexthreshold=4k |
35393
4441705b7111
tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents:
34446
diff
changeset
|
41 mmapping $TESTTMP/a/.hg/store/00changelog.i |
34296
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
42 100 |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
43 99 |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
44 98 |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
45 97 |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
46 96 |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
47 |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
48 do not mmap index which is still less than 32k |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
49 $ hg log -l 5 -T '{rev}\n' --config experimental.mmapindexthreshold=32k |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
50 100 |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
51 99 |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
52 98 |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
53 97 |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
54 96 |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
55 |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
56 $ cd .. |