Mercurial > hg
annotate tests/test-fncache.t @ 49298:425ca3428d03
tests: constant-fold a `pycompat.ispy3` in testlib/badserverext.py
author | Manuel Jacob <me@manueljacob.de> |
---|---|
date | Tue, 31 May 2022 02:36:05 +0200 |
parents | 42d2b31cee0b |
children | 2f2682f40ea0 |
rev | line source |
---|---|
37415
c2c8962a9465
simplestore: use a custom store for the simple store repo
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36662
diff
changeset
|
1 #require repofncache |
c2c8962a9465
simplestore: use a custom store for the simple store repo
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36662
diff
changeset
|
2 |
41978
a56487081109
store: don't read the whole fncache in memory
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
41965
diff
changeset
|
3 An extension which will set fncache chunksize to 1 byte to make sure that logic |
a56487081109
store: don't read the whole fncache in memory
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
41965
diff
changeset
|
4 does not break |
a56487081109
store: don't read the whole fncache in memory
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
41965
diff
changeset
|
5 |
a56487081109
store: don't read the whole fncache in memory
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
41965
diff
changeset
|
6 $ cat > chunksize.py <<EOF |
a56487081109
store: don't read the whole fncache in memory
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
41965
diff
changeset
|
7 > from mercurial import store |
a56487081109
store: don't read the whole fncache in memory
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
41965
diff
changeset
|
8 > store.fncache_chunksize = 1 |
a56487081109
store: don't read the whole fncache in memory
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
41965
diff
changeset
|
9 > EOF |
a56487081109
store: don't read the whole fncache in memory
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
41965
diff
changeset
|
10 |
a56487081109
store: don't read the whole fncache in memory
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
41965
diff
changeset
|
11 $ cat >> $HGRCPATH <<EOF |
a56487081109
store: don't read the whole fncache in memory
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
41965
diff
changeset
|
12 > [extensions] |
a56487081109
store: don't read the whole fncache in memory
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
41965
diff
changeset
|
13 > chunksize = $TESTTMP/chunksize.py |
a56487081109
store: don't read the whole fncache in memory
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
41965
diff
changeset
|
14 > EOF |
a56487081109
store: don't read the whole fncache in memory
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
41965
diff
changeset
|
15 |
11865
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
16 Init repo1: |
7290 | 17 |
11865
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
18 $ hg init repo1 |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
19 $ cd repo1 |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
20 $ echo "some text" > a |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
21 $ hg add |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
22 adding a |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
23 $ hg ci -m first |
13389
3efc99ac2ac4
tests: sort fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
12316
diff
changeset
|
24 $ cat .hg/store/fncache | sort |
11865
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
25 data/a.i |
7290 | 26 |
11865
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
27 Testing a.i/b: |
7290 | 28 |
11865
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
29 $ mkdir a.i |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
30 $ echo "some other text" > a.i/b |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
31 $ hg add |
35393
4441705b7111
tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents:
33956
diff
changeset
|
32 adding a.i/b |
11865
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
33 $ hg ci -m second |
13389
3efc99ac2ac4
tests: sort fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
12316
diff
changeset
|
34 $ cat .hg/store/fncache | sort |
11865
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
35 data/a.i |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
36 data/a.i.hg/b.i |
7290 | 37 |
11865
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
38 Testing a.i.hg/c: |
7290 | 39 |
11865
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
40 $ mkdir a.i.hg |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
41 $ echo "yet another text" > a.i.hg/c |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
42 $ hg add |
35393
4441705b7111
tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents:
33956
diff
changeset
|
43 adding a.i.hg/c |
11865
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
44 $ hg ci -m third |
13389
3efc99ac2ac4
tests: sort fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
12316
diff
changeset
|
45 $ cat .hg/store/fncache | sort |
11865
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
46 data/a.i |
13389
3efc99ac2ac4
tests: sort fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
12316
diff
changeset
|
47 data/a.i.hg.hg/c.i |
11865
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
48 data/a.i.hg/b.i |
7290 | 49 |
11865
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
50 Testing verify: |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
51 |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
52 $ hg verify |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
53 checking changesets |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
54 checking manifests |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
55 crosschecking files in changesets and manifests |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
56 checking files |
39489
f1186c292d03
verify: make output less confusing (issue5924)
Meirambek Omyrzak <meirambek77@gmail.com>
parents:
39323
diff
changeset
|
57 checked 3 changesets with 3 changes to 3 files |
11865
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
58 |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
59 $ rm .hg/store/fncache |
7290 | 60 |
11865
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
61 $ hg verify |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
62 checking changesets |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
63 checking manifests |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
64 crosschecking files in changesets and manifests |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
65 checking files |
25627
9573d8f346f1
verify: clarify misleading fncache message
Matt Mackall <mpm@selenic.com>
parents:
23904
diff
changeset
|
66 warning: revlog 'data/a.i' not in fncache! |
9573d8f346f1
verify: clarify misleading fncache message
Matt Mackall <mpm@selenic.com>
parents:
23904
diff
changeset
|
67 warning: revlog 'data/a.i.hg/c.i' not in fncache! |
9573d8f346f1
verify: clarify misleading fncache message
Matt Mackall <mpm@selenic.com>
parents:
23904
diff
changeset
|
68 warning: revlog 'data/a.i/b.i' not in fncache! |
39489
f1186c292d03
verify: make output less confusing (issue5924)
Meirambek Omyrzak <meirambek77@gmail.com>
parents:
39323
diff
changeset
|
69 checked 3 changesets with 3 changes to 3 files |
25627
9573d8f346f1
verify: clarify misleading fncache message
Matt Mackall <mpm@selenic.com>
parents:
23904
diff
changeset
|
70 3 warnings encountered! |
25653
9d1e04f5dca7
verify: print hint to run debugrebuildfncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25652
diff
changeset
|
71 hint: run "hg debugrebuildfncache" to recover from corrupt fncache |
9d1e04f5dca7
verify: print hint to run debugrebuildfncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25652
diff
changeset
|
72 |
9d1e04f5dca7
verify: print hint to run debugrebuildfncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25652
diff
changeset
|
73 Follow the hint to make sure it works |
9d1e04f5dca7
verify: print hint to run debugrebuildfncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25652
diff
changeset
|
74 |
9d1e04f5dca7
verify: print hint to run debugrebuildfncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25652
diff
changeset
|
75 $ hg debugrebuildfncache |
9d1e04f5dca7
verify: print hint to run debugrebuildfncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25652
diff
changeset
|
76 adding data/a.i |
9d1e04f5dca7
verify: print hint to run debugrebuildfncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25652
diff
changeset
|
77 adding data/a.i.hg/c.i |
9d1e04f5dca7
verify: print hint to run debugrebuildfncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25652
diff
changeset
|
78 adding data/a.i/b.i |
9d1e04f5dca7
verify: print hint to run debugrebuildfncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25652
diff
changeset
|
79 3 items added, 0 removed from fncache |
9d1e04f5dca7
verify: print hint to run debugrebuildfncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25652
diff
changeset
|
80 |
9d1e04f5dca7
verify: print hint to run debugrebuildfncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25652
diff
changeset
|
81 $ hg verify |
9d1e04f5dca7
verify: print hint to run debugrebuildfncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25652
diff
changeset
|
82 checking changesets |
9d1e04f5dca7
verify: print hint to run debugrebuildfncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25652
diff
changeset
|
83 checking manifests |
9d1e04f5dca7
verify: print hint to run debugrebuildfncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25652
diff
changeset
|
84 crosschecking files in changesets and manifests |
9d1e04f5dca7
verify: print hint to run debugrebuildfncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25652
diff
changeset
|
85 checking files |
39489
f1186c292d03
verify: make output less confusing (issue5924)
Meirambek Omyrzak <meirambek77@gmail.com>
parents:
39323
diff
changeset
|
86 checked 3 changesets with 3 changes to 3 files |
25653
9d1e04f5dca7
verify: print hint to run debugrebuildfncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25652
diff
changeset
|
87 |
11865
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
88 $ cd .. |
7290 | 89 |
11865
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
90 Non store repo: |
7290 | 91 |
11865
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
92 $ hg --config format.usestore=False init foo |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
93 $ cd foo |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
94 $ mkdir tst.d |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
95 $ echo foo > tst.d/foo |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
96 $ hg ci -Amfoo |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
97 adding tst.d/foo |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
98 $ find .hg | sort |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
99 .hg |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
100 .hg/00changelog.i |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
101 .hg/00manifest.i |
15886
a5917346c72e
localrepo: update branchcache in a more reliable way
Mads Kiilerich <mads@kiilerich.com>
parents:
15483
diff
changeset
|
102 .hg/cache |
20185
7d4219512823
branchmap: cache open/closed branch head information
Brodie Rao <brodie@sf.io>
parents:
18382
diff
changeset
|
103 .hg/cache/branch2-served |
23786
7d63398fbfd1
branchmap: use revbranchcache when updating branch map
Mads Kiilerich <madski@unity3d.com>
parents:
23512
diff
changeset
|
104 .hg/cache/rbc-names-v1 |
7d63398fbfd1
branchmap: use revbranchcache when updating branch map
Mads Kiilerich <madski@unity3d.com>
parents:
23512
diff
changeset
|
105 .hg/cache/rbc-revs-v1 |
11865
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
106 .hg/data |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
107 .hg/data/tst.d.hg |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
108 .hg/data/tst.d.hg/foo.i |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
109 .hg/dirstate |
33427
1bdafe1111ce
tests: add extra output for fsmonitor at checking under .hg
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
27192
diff
changeset
|
110 .hg/fsmonitor.state (fsmonitor !) |
11865
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
111 .hg/last-message.txt |
15483
9ae766f2f452
phases: set new commit in 1-phase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
15455
diff
changeset
|
112 .hg/phaseroots |
11865
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
113 .hg/requires |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
114 .hg/undo |
26998
4414d500604f
localrepo: put bookmark move following commit in one transaction
Laurent Charignon <lcharignon@fb.com>
parents:
26587
diff
changeset
|
115 .hg/undo.backup.dirstate |
23904
d251da5e0e84
transaction: include backup file in the "undo" transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
23786
diff
changeset
|
116 .hg/undo.backupfiles |
14266
89e7d35e0ef0
fix bookmarks rollback behavior
Alexander Solovyov <alexander@solovyov.net>
parents:
13389
diff
changeset
|
117 .hg/undo.bookmarks |
11865
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
118 .hg/undo.branch |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
119 .hg/undo.desc |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
120 .hg/undo.dirstate |
15455
c6f87bdab2a1
phases: add rollback support
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
15447
diff
changeset
|
121 .hg/undo.phaseroots |
40792
47e3f554df35
check-exec: write file in 'wcache' instead of 'cache'
Boris Feld <boris.feld@octobus.net>
parents:
40674
diff
changeset
|
122 .hg/wcache |
40807
f6d37e84d8f9
tests: stabilize for recent wcache changes
Matt Harbison <matt_harbison@yahoo.com>
parents:
40792
diff
changeset
|
123 .hg/wcache/checkisexec (execbit !) |
f6d37e84d8f9
tests: stabilize for recent wcache changes
Matt Harbison <matt_harbison@yahoo.com>
parents:
40792
diff
changeset
|
124 .hg/wcache/checklink (symlink !) |
f6d37e84d8f9
tests: stabilize for recent wcache changes
Matt Harbison <matt_harbison@yahoo.com>
parents:
40792
diff
changeset
|
125 .hg/wcache/checklink-target (symlink !) |
41965
e4ac7e63c213
manifestcache: use `wcache` directory for manifest cache
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
40807
diff
changeset
|
126 .hg/wcache/manifestfulltextcache (reporevlogstore !) |
11865
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
127 $ cd .. |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
128 |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
129 Non fncache repo: |
8633
c31fe74a6633
store encoding: .i/.d encoding for non-store repo (broken by 810387f59696)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
8167
diff
changeset
|
130 |
11865
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
131 $ hg --config format.usefncache=False init bar |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
132 $ cd bar |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
133 $ mkdir tst.d |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
134 $ echo foo > tst.d/Foo |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
135 $ hg ci -Amfoo |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
136 adding tst.d/Foo |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
137 $ find .hg | sort |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
138 .hg |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
139 .hg/00changelog.i |
15886
a5917346c72e
localrepo: update branchcache in a more reliable way
Mads Kiilerich <mads@kiilerich.com>
parents:
15483
diff
changeset
|
140 .hg/cache |
20185
7d4219512823
branchmap: cache open/closed branch head information
Brodie Rao <brodie@sf.io>
parents:
18382
diff
changeset
|
141 .hg/cache/branch2-served |
23786
7d63398fbfd1
branchmap: use revbranchcache when updating branch map
Mads Kiilerich <madski@unity3d.com>
parents:
23512
diff
changeset
|
142 .hg/cache/rbc-names-v1 |
7d63398fbfd1
branchmap: use revbranchcache when updating branch map
Mads Kiilerich <madski@unity3d.com>
parents:
23512
diff
changeset
|
143 .hg/cache/rbc-revs-v1 |
11865
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
144 .hg/dirstate |
33427
1bdafe1111ce
tests: add extra output for fsmonitor at checking under .hg
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
27192
diff
changeset
|
145 .hg/fsmonitor.state (fsmonitor !) |
11865
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
146 .hg/last-message.txt |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
147 .hg/requires |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
148 .hg/store |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
149 .hg/store/00changelog.i |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
150 .hg/store/00manifest.i |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
151 .hg/store/data |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
152 .hg/store/data/tst.d.hg |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
153 .hg/store/data/tst.d.hg/_foo.i |
15483
9ae766f2f452
phases: set new commit in 1-phase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
15455
diff
changeset
|
154 .hg/store/phaseroots |
48669
7ee07e1a25c0
share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47447
diff
changeset
|
155 .hg/store/requires |
11865
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
156 .hg/store/undo |
23904
d251da5e0e84
transaction: include backup file in the "undo" transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
23786
diff
changeset
|
157 .hg/store/undo.backupfiles |
15455
c6f87bdab2a1
phases: add rollback support
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
15447
diff
changeset
|
158 .hg/store/undo.phaseroots |
26998
4414d500604f
localrepo: put bookmark move following commit in one transaction
Laurent Charignon <lcharignon@fb.com>
parents:
26587
diff
changeset
|
159 .hg/undo.backup.dirstate |
14266
89e7d35e0ef0
fix bookmarks rollback behavior
Alexander Solovyov <alexander@solovyov.net>
parents:
13389
diff
changeset
|
160 .hg/undo.bookmarks |
11865
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
161 .hg/undo.branch |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
162 .hg/undo.desc |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
163 .hg/undo.dirstate |
40792
47e3f554df35
check-exec: write file in 'wcache' instead of 'cache'
Boris Feld <boris.feld@octobus.net>
parents:
40674
diff
changeset
|
164 .hg/wcache |
40807
f6d37e84d8f9
tests: stabilize for recent wcache changes
Matt Harbison <matt_harbison@yahoo.com>
parents:
40792
diff
changeset
|
165 .hg/wcache/checkisexec (execbit !) |
f6d37e84d8f9
tests: stabilize for recent wcache changes
Matt Harbison <matt_harbison@yahoo.com>
parents:
40792
diff
changeset
|
166 .hg/wcache/checklink (symlink !) |
f6d37e84d8f9
tests: stabilize for recent wcache changes
Matt Harbison <matt_harbison@yahoo.com>
parents:
40792
diff
changeset
|
167 .hg/wcache/checklink-target (symlink !) |
41965
e4ac7e63c213
manifestcache: use `wcache` directory for manifest cache
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
40807
diff
changeset
|
168 .hg/wcache/manifestfulltextcache (reporevlogstore !) |
11865
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
169 $ cd .. |
8633
c31fe74a6633
store encoding: .i/.d encoding for non-store repo (broken by 810387f59696)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
8167
diff
changeset
|
170 |
17710
95d29533e2ee
test-fncache: test reserved / long paths
Adrian Buehlmann <adrian@cadifra.com>
parents:
15886
diff
changeset
|
171 Encoding of reserved / long paths in the store |
95d29533e2ee
test-fncache: test reserved / long paths
Adrian Buehlmann <adrian@cadifra.com>
parents:
15886
diff
changeset
|
172 |
95d29533e2ee
test-fncache: test reserved / long paths
Adrian Buehlmann <adrian@cadifra.com>
parents:
15886
diff
changeset
|
173 $ hg init r2 |
95d29533e2ee
test-fncache: test reserved / long paths
Adrian Buehlmann <adrian@cadifra.com>
parents:
15886
diff
changeset
|
174 $ cd r2 |
95d29533e2ee
test-fncache: test reserved / long paths
Adrian Buehlmann <adrian@cadifra.com>
parents:
15886
diff
changeset
|
175 $ cat <<EOF > .hg/hgrc |
95d29533e2ee
test-fncache: test reserved / long paths
Adrian Buehlmann <adrian@cadifra.com>
parents:
15886
diff
changeset
|
176 > [ui] |
95d29533e2ee
test-fncache: test reserved / long paths
Adrian Buehlmann <adrian@cadifra.com>
parents:
15886
diff
changeset
|
177 > portablefilenames = ignore |
95d29533e2ee
test-fncache: test reserved / long paths
Adrian Buehlmann <adrian@cadifra.com>
parents:
15886
diff
changeset
|
178 > EOF |
95d29533e2ee
test-fncache: test reserved / long paths
Adrian Buehlmann <adrian@cadifra.com>
parents:
15886
diff
changeset
|
179 |
17748
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
180 $ hg import -q --bypass - <<EOF |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
181 > # HG changeset patch |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
182 > # User test |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
183 > # Date 0 0 |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
184 > # Node ID 1c7a2f7cb77be1a0def34e4c7cabc562ad98fbd7 |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
185 > # Parent 0000000000000000000000000000000000000000 |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
186 > 1 |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
187 > |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
188 > diff --git a/12345678/12345678/12345678/12345678/12345678/12345678/12345678/12345/xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-123456789-12.3456789-12345-ABCDEFGHIJKLMNOPRSTUVWXYZ-abcdefghjiklmnopqrstuvwxyz b/12345678/12345678/12345678/12345678/12345678/12345678/12345678/12345/xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-123456789-12.3456789-12345-ABCDEFGHIJKLMNOPRSTUVWXYZ-abcdefghjiklmnopqrstuvwxyz |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
189 > new file mode 100644 |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
190 > --- /dev/null |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
191 > +++ b/12345678/12345678/12345678/12345678/12345678/12345678/12345678/12345/xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-123456789-12.3456789-12345-ABCDEFGHIJKLMNOPRSTUVWXYZ-abcdefghjiklmnopqrstuvwxyz |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
192 > @@ -0,0 +1,1 @@ |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
193 > +foo |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
194 > diff --git a/AUX/SECOND/X.PRN/FOURTH/FI:FTH/SIXTH/SEVENTH/EIGHTH/NINETH/TENTH/ELEVENTH/LOREMIPSUM.TXT b/AUX/SECOND/X.PRN/FOURTH/FI:FTH/SIXTH/SEVENTH/EIGHTH/NINETH/TENTH/ELEVENTH/LOREMIPSUM.TXT |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
195 > new file mode 100644 |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
196 > --- /dev/null |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
197 > +++ b/AUX/SECOND/X.PRN/FOURTH/FI:FTH/SIXTH/SEVENTH/EIGHTH/NINETH/TENTH/ELEVENTH/LOREMIPSUM.TXT |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
198 > @@ -0,0 +1,1 @@ |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
199 > +foo |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
200 > diff --git a/Project Planning/Resources/AnotherLongDirectoryName/Followedbyanother/AndAnother/AndThenAnExtremelyLongFileName.txt b/Project Planning/Resources/AnotherLongDirectoryName/Followedbyanother/AndAnother/AndThenAnExtremelyLongFileName.txt |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
201 > new file mode 100644 |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
202 > --- /dev/null |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
203 > +++ b/Project Planning/Resources/AnotherLongDirectoryName/Followedbyanother/AndAnother/AndThenAnExtremelyLongFileName.txt |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
204 > @@ -0,0 +1,1 @@ |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
205 > +foo |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
206 > diff --git a/bla.aux/prn/PRN/lpt/com3/nul/coma/foo.NUL/normal.c b/bla.aux/prn/PRN/lpt/com3/nul/coma/foo.NUL/normal.c |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
207 > new file mode 100644 |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
208 > --- /dev/null |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
209 > +++ b/bla.aux/prn/PRN/lpt/com3/nul/coma/foo.NUL/normal.c |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
210 > @@ -0,0 +1,1 @@ |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
211 > +foo |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
212 > diff --git a/enterprise/openesbaddons/contrib-imola/corba-bc/netbeansplugin/wsdlExtension/src/main/java/META-INF/services/org.netbeans.modules.xml.wsdl.bindingsupport.spi.ExtensibilityElementTemplateProvider b/enterprise/openesbaddons/contrib-imola/corba-bc/netbeansplugin/wsdlExtension/src/main/java/META-INF/services/org.netbeans.modules.xml.wsdl.bindingsupport.spi.ExtensibilityElementTemplateProvider |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
213 > new file mode 100644 |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
214 > --- /dev/null |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
215 > +++ b/enterprise/openesbaddons/contrib-imola/corba-bc/netbeansplugin/wsdlExtension/src/main/java/META-INF/services/org.netbeans.modules.xml.wsdl.bindingsupport.spi.ExtensibilityElementTemplateProvider |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
216 > @@ -0,0 +1,1 @@ |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
217 > +foo |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
218 > EOF |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
219 |
17710
95d29533e2ee
test-fncache: test reserved / long paths
Adrian Buehlmann <adrian@cadifra.com>
parents:
15886
diff
changeset
|
220 $ find .hg/store -name *.i | sort |
95d29533e2ee
test-fncache: test reserved / long paths
Adrian Buehlmann <adrian@cadifra.com>
parents:
15886
diff
changeset
|
221 .hg/store/00changelog.i |
95d29533e2ee
test-fncache: test reserved / long paths
Adrian Buehlmann <adrian@cadifra.com>
parents:
15886
diff
changeset
|
222 .hg/store/00manifest.i |
95d29533e2ee
test-fncache: test reserved / long paths
Adrian Buehlmann <adrian@cadifra.com>
parents:
15886
diff
changeset
|
223 .hg/store/data/bla.aux/pr~6e/_p_r_n/lpt/co~6d3/nu~6c/coma/foo._n_u_l/normal.c.i |
95d29533e2ee
test-fncache: test reserved / long paths
Adrian Buehlmann <adrian@cadifra.com>
parents:
15886
diff
changeset
|
224 .hg/store/dh/12345678/12345678/12345678/12345678/12345678/12345678/12345678/12345/xxxxxx168e07b38e65eff86ab579afaaa8e30bfbe0f35f.i |
95d29533e2ee
test-fncache: test reserved / long paths
Adrian Buehlmann <adrian@cadifra.com>
parents:
15886
diff
changeset
|
225 .hg/store/dh/au~78/second/x.prn/fourth/fi~3afth/sixth/seventh/eighth/nineth/tenth/loremia20419e358ddff1bf8751e38288aff1d7c32ec05.i |
95d29533e2ee
test-fncache: test reserved / long paths
Adrian Buehlmann <adrian@cadifra.com>
parents:
15886
diff
changeset
|
226 .hg/store/dh/enterpri/openesba/contrib-/corba-bc/netbeans/wsdlexte/src/main/java/org.net7018f27961fdf338a598a40c4683429e7ffb9743.i |
95d29533e2ee
test-fncache: test reserved / long paths
Adrian Buehlmann <adrian@cadifra.com>
parents:
15886
diff
changeset
|
227 .hg/store/dh/project_/resource/anotherl/followed/andanoth/andthenanextremelylongfilename0d8e1f4187c650e2f1fdca9fd90f786bc0976b6b.i |
95d29533e2ee
test-fncache: test reserved / long paths
Adrian Buehlmann <adrian@cadifra.com>
parents:
15886
diff
changeset
|
228 |
95d29533e2ee
test-fncache: test reserved / long paths
Adrian Buehlmann <adrian@cadifra.com>
parents:
15886
diff
changeset
|
229 $ cd .. |
95d29533e2ee
test-fncache: test reserved / long paths
Adrian Buehlmann <adrian@cadifra.com>
parents:
15886
diff
changeset
|
230 |
20883
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
231 Aborting lock does not prevent fncache writes |
17710
95d29533e2ee
test-fncache: test reserved / long paths
Adrian Buehlmann <adrian@cadifra.com>
parents:
15886
diff
changeset
|
232 |
20883
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
233 $ cat > exceptionext.py <<EOF |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
234 > import os |
33956
1be228b96030
tests: update test-fncache to pass our import checker
Augie Fackler <raf@durin42.com>
parents:
33607
diff
changeset
|
235 > from mercurial import commands, error, extensions |
20883
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
236 > |
26497
ca778cbe94f3
test-fncache: use args/kwargs for lock wrapper
Siddharth Agarwal <sid0@fb.com>
parents:
26475
diff
changeset
|
237 > def lockexception(orig, vfs, lockname, wait, releasefn, *args, **kwargs): |
20883
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
238 > def releasewrap(): |
27168
8a829fc84bb3
test-fncache: ensure lock doesn't look held to __del__
Augie Fackler <augie@google.com>
parents:
26998
diff
changeset
|
239 > l.held = False # ensure __del__ is a noop |
45681
a736ab681b78
errors: stop passing non-strings to Abort's constructor
Martin von Zweigbergk <martinvonz@google.com>
parents:
44355
diff
changeset
|
240 > raise error.Abort(b"forced lock failure") |
27168
8a829fc84bb3
test-fncache: ensure lock doesn't look held to __del__
Augie Fackler <augie@google.com>
parents:
26998
diff
changeset
|
241 > l = orig(vfs, lockname, wait, releasewrap, *args, **kwargs) |
8a829fc84bb3
test-fncache: ensure lock doesn't look held to __del__
Augie Fackler <augie@google.com>
parents:
26998
diff
changeset
|
242 > return l |
20883
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
243 > |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
244 > def reposetup(ui, repo): |
33956
1be228b96030
tests: update test-fncache to pass our import checker
Augie Fackler <raf@durin42.com>
parents:
33607
diff
changeset
|
245 > extensions.wrapfunction(repo, '_lock', lockexception) |
20883
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
246 > |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
247 > cmdtable = {} |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
248 > |
27192
a01d3d32b53a
commands: make commit acquire locks before processing (issue4368)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
27168
diff
changeset
|
249 > # wrap "commit" command to prevent wlock from being '__del__()'-ed |
a01d3d32b53a
commands: make commit acquire locks before processing (issue4368)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
27168
diff
changeset
|
250 > # at the end of dispatching (for intentional "forced lcok failure") |
a01d3d32b53a
commands: make commit acquire locks before processing (issue4368)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
27168
diff
changeset
|
251 > def commitwrap(orig, ui, repo, *pats, **opts): |
a01d3d32b53a
commands: make commit acquire locks before processing (issue4368)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
27168
diff
changeset
|
252 > repo = repo.unfiltered() # to use replaced repo._lock certainly |
a01d3d32b53a
commands: make commit acquire locks before processing (issue4368)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
27168
diff
changeset
|
253 > wlock = repo.wlock() |
a01d3d32b53a
commands: make commit acquire locks before processing (issue4368)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
27168
diff
changeset
|
254 > try: |
a01d3d32b53a
commands: make commit acquire locks before processing (issue4368)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
27168
diff
changeset
|
255 > return orig(ui, repo, *pats, **opts) |
a01d3d32b53a
commands: make commit acquire locks before processing (issue4368)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
27168
diff
changeset
|
256 > finally: |
a01d3d32b53a
commands: make commit acquire locks before processing (issue4368)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
27168
diff
changeset
|
257 > # multiple 'relase()' is needed for complete releasing wlock, |
a01d3d32b53a
commands: make commit acquire locks before processing (issue4368)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
27168
diff
changeset
|
258 > # because "forced" abort at last releasing store lock |
a01d3d32b53a
commands: make commit acquire locks before processing (issue4368)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
27168
diff
changeset
|
259 > # prevents wlock from being released at same 'lockmod.release()' |
a01d3d32b53a
commands: make commit acquire locks before processing (issue4368)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
27168
diff
changeset
|
260 > for i in range(wlock.held): |
a01d3d32b53a
commands: make commit acquire locks before processing (issue4368)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
27168
diff
changeset
|
261 > wlock.release() |
a01d3d32b53a
commands: make commit acquire locks before processing (issue4368)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
27168
diff
changeset
|
262 > |
a01d3d32b53a
commands: make commit acquire locks before processing (issue4368)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
27168
diff
changeset
|
263 > def extsetup(ui): |
36493
5b5cc44b2cdc
py3: add a b'' prefix in tests/test-fncache.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
35393
diff
changeset
|
264 > extensions.wrapcommand(commands.table, b"commit", commitwrap) |
20883
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
265 > EOF |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
266 $ extpath=`pwd`/exceptionext.py |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
267 $ hg init fncachetxn |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
268 $ cd fncachetxn |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
269 $ printf "[extensions]\nexceptionext=$extpath\n" >> .hg/hgrc |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
270 $ touch y |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
271 $ hg ci -qAm y |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
272 abort: forced lock failure |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
273 [255] |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
274 $ cat .hg/store/fncache |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
275 data/y.i |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
276 |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
277 Aborting transaction prevents fncache change |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
278 |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
279 $ cat > ../exceptionext.py <<EOF |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
280 > import os |
33956
1be228b96030
tests: update test-fncache to pass our import checker
Augie Fackler <raf@durin42.com>
parents:
33607
diff
changeset
|
281 > from mercurial import commands, error, extensions, localrepo |
20883
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
282 > |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
283 > def wrapper(orig, self, *args, **kwargs): |
23510
065c0334846f
fncache: drop dedicated 'onclose' function in favor of 'tr.addfinalize'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
23063
diff
changeset
|
284 > tr = orig(self, *args, **kwargs) |
065c0334846f
fncache: drop dedicated 'onclose' function in favor of 'tr.addfinalize'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
23063
diff
changeset
|
285 > def fail(tr): |
36662
3715a5ffcf92
tests: fix bytes literals in test-fncache.t
Augie Fackler <augie@google.com>
parents:
36493
diff
changeset
|
286 > raise error.Abort(b"forced transaction failure") |
23510
065c0334846f
fncache: drop dedicated 'onclose' function in favor of 'tr.addfinalize'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
23063
diff
changeset
|
287 > # zzz prefix to ensure it sorted after store.write |
36662
3715a5ffcf92
tests: fix bytes literals in test-fncache.t
Augie Fackler <augie@google.com>
parents:
36493
diff
changeset
|
288 > tr.addfinalize(b'zzz-forcefails', fail) |
23510
065c0334846f
fncache: drop dedicated 'onclose' function in favor of 'tr.addfinalize'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
23063
diff
changeset
|
289 > return tr |
20883
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
290 > |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
291 > def uisetup(ui): |
33956
1be228b96030
tests: update test-fncache to pass our import checker
Augie Fackler <raf@durin42.com>
parents:
33607
diff
changeset
|
292 > extensions.wrapfunction( |
36662
3715a5ffcf92
tests: fix bytes literals in test-fncache.t
Augie Fackler <augie@google.com>
parents:
36493
diff
changeset
|
293 > localrepo.localrepository, b'transaction', wrapper) |
20883
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
294 > |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
295 > cmdtable = {} |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
296 > |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
297 > EOF |
33607
6c142f279625
pypy: fix failing test files with Pypy5.6.0
Boris Feld <boris.feld@octobus.net>
parents:
33427
diff
changeset
|
298 |
6c142f279625
pypy: fix failing test files with Pypy5.6.0
Boris Feld <boris.feld@octobus.net>
parents:
33427
diff
changeset
|
299 Clean cached version |
21760
a7f5967ff644
tests: ignore missing file with PYTHONDONTWRITEBYTECODE (issue4239)
Matt Mackall <mpm@selenic.com>
parents:
20883
diff
changeset
|
300 $ rm -f "${extpath}c" |
33607
6c142f279625
pypy: fix failing test files with Pypy5.6.0
Boris Feld <boris.feld@octobus.net>
parents:
33427
diff
changeset
|
301 $ rm -Rf "`dirname $extpath`/__pycache__" |
6c142f279625
pypy: fix failing test files with Pypy5.6.0
Boris Feld <boris.feld@octobus.net>
parents:
33427
diff
changeset
|
302 |
20883
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
303 $ touch z |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
304 $ hg ci -qAm z |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
305 transaction abort! |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
306 rollback completed |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
307 abort: forced transaction failure |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
308 [255] |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
309 $ cat .hg/store/fncache |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
310 data/y.i |
23063
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
311 |
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
312 Aborted transactions can be recovered later |
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
313 |
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
314 $ cat > ../exceptionext.py <<EOF |
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
315 > import os |
33956
1be228b96030
tests: update test-fncache to pass our import checker
Augie Fackler <raf@durin42.com>
parents:
33607
diff
changeset
|
316 > from mercurial import ( |
1be228b96030
tests: update test-fncache to pass our import checker
Augie Fackler <raf@durin42.com>
parents:
33607
diff
changeset
|
317 > commands, |
1be228b96030
tests: update test-fncache to pass our import checker
Augie Fackler <raf@durin42.com>
parents:
33607
diff
changeset
|
318 > error, |
1be228b96030
tests: update test-fncache to pass our import checker
Augie Fackler <raf@durin42.com>
parents:
33607
diff
changeset
|
319 > extensions, |
1be228b96030
tests: update test-fncache to pass our import checker
Augie Fackler <raf@durin42.com>
parents:
33607
diff
changeset
|
320 > localrepo, |
1be228b96030
tests: update test-fncache to pass our import checker
Augie Fackler <raf@durin42.com>
parents:
33607
diff
changeset
|
321 > transaction, |
1be228b96030
tests: update test-fncache to pass our import checker
Augie Fackler <raf@durin42.com>
parents:
33607
diff
changeset
|
322 > ) |
23063
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
323 > |
23512
0ff6b65afeb0
transaction: remove the redundant 'onclose' mechanism
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
23510
diff
changeset
|
324 > def trwrapper(orig, self, *args, **kwargs): |
0ff6b65afeb0
transaction: remove the redundant 'onclose' mechanism
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
23510
diff
changeset
|
325 > tr = orig(self, *args, **kwargs) |
0ff6b65afeb0
transaction: remove the redundant 'onclose' mechanism
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
23510
diff
changeset
|
326 > def fail(tr): |
40262
c8f164061212
tests: fix inline extension in test-fncache.t for Python 3
Augie Fackler <augie@google.com>
parents:
39698
diff
changeset
|
327 > raise error.Abort(b"forced transaction failure") |
23512
0ff6b65afeb0
transaction: remove the redundant 'onclose' mechanism
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
23510
diff
changeset
|
328 > # zzz prefix to ensure it sorted after store.write |
40262
c8f164061212
tests: fix inline extension in test-fncache.t for Python 3
Augie Fackler <augie@google.com>
parents:
39698
diff
changeset
|
329 > tr.addfinalize(b'zzz-forcefails', fail) |
23512
0ff6b65afeb0
transaction: remove the redundant 'onclose' mechanism
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
23510
diff
changeset
|
330 > return tr |
23063
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
331 > |
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
332 > def abortwrapper(orig, self, *args, **kwargs): |
40262
c8f164061212
tests: fix inline extension in test-fncache.t for Python 3
Augie Fackler <augie@google.com>
parents:
39698
diff
changeset
|
333 > raise error.Abort(b"forced transaction failure") |
23063
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
334 > |
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
335 > def uisetup(ui): |
33956
1be228b96030
tests: update test-fncache to pass our import checker
Augie Fackler <raf@durin42.com>
parents:
33607
diff
changeset
|
336 > extensions.wrapfunction(localrepo.localrepository, 'transaction', |
1be228b96030
tests: update test-fncache to pass our import checker
Augie Fackler <raf@durin42.com>
parents:
33607
diff
changeset
|
337 > trwrapper) |
1be228b96030
tests: update test-fncache to pass our import checker
Augie Fackler <raf@durin42.com>
parents:
33607
diff
changeset
|
338 > extensions.wrapfunction(transaction.transaction, '_abort', |
1be228b96030
tests: update test-fncache to pass our import checker
Augie Fackler <raf@durin42.com>
parents:
33607
diff
changeset
|
339 > abortwrapper) |
23063
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
340 > |
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
341 > cmdtable = {} |
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
342 > |
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
343 > EOF |
33607
6c142f279625
pypy: fix failing test files with Pypy5.6.0
Boris Feld <boris.feld@octobus.net>
parents:
33427
diff
changeset
|
344 |
6c142f279625
pypy: fix failing test files with Pypy5.6.0
Boris Feld <boris.feld@octobus.net>
parents:
33427
diff
changeset
|
345 Clean cached versions |
23063
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
346 $ rm -f "${extpath}c" |
33607
6c142f279625
pypy: fix failing test files with Pypy5.6.0
Boris Feld <boris.feld@octobus.net>
parents:
33427
diff
changeset
|
347 $ rm -Rf "`dirname $extpath`/__pycache__" |
6c142f279625
pypy: fix failing test files with Pypy5.6.0
Boris Feld <boris.feld@octobus.net>
parents:
33427
diff
changeset
|
348 |
23063
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
349 $ hg up -q 1 |
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
350 $ touch z |
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
351 $ hg ci -qAm z 2>/dev/null |
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
352 [255] |
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
353 $ cat .hg/store/fncache | sort |
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
354 data/y.i |
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
355 data/z.i |
44355
7a4e1d245f19
recover: don't verify by default
Valentin Gatien-Baron <vgatien-baron@janestreet.com>
parents:
42715
diff
changeset
|
356 $ hg recover --verify |
23063
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
357 rolling back interrupted transaction |
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
358 checking changesets |
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
359 checking manifests |
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
360 crosschecking files in changesets and manifests |
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
361 checking files |
39489
f1186c292d03
verify: make output less confusing (issue5924)
Meirambek Omyrzak <meirambek77@gmail.com>
parents:
39323
diff
changeset
|
362 checked 1 changesets with 1 changes to 1 files |
23063
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
363 $ cat .hg/store/fncache |
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
364 data/y.i |
25652
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
365 |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
366 $ cd .. |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
367 |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
368 debugrebuildfncache does nothing unless repo has fncache requirement |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
369 |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
370 $ hg --config format.usefncache=false init nofncache |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
371 $ cd nofncache |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
372 $ hg debugrebuildfncache |
25874
3e84f40232c7
repair: fix typo in warning message
Wagner Bruna <wbruna@yahoo.com>
parents:
25653
diff
changeset
|
373 (not rebuilding fncache because repository does not support fncache) |
25652
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
374 |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
375 $ cd .. |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
376 |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
377 debugrebuildfncache works on empty repository |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
378 |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
379 $ hg init empty |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
380 $ cd empty |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
381 $ hg debugrebuildfncache |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
382 fncache already up to date |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
383 $ cd .. |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
384 |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
385 debugrebuildfncache on an up to date repository no-ops |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
386 |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
387 $ hg init repo |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
388 $ cd repo |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
389 $ echo initial > foo |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
390 $ echo initial > .bar |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
391 $ hg commit -A -m initial |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
392 adding .bar |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
393 adding foo |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
394 |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
395 $ cat .hg/store/fncache | sort |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
396 data/.bar.i |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
397 data/foo.i |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
398 |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
399 $ hg debugrebuildfncache |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
400 fncache already up to date |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
401 |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
402 debugrebuildfncache restores deleted fncache file |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
403 |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
404 $ rm -f .hg/store/fncache |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
405 $ hg debugrebuildfncache |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
406 adding data/.bar.i |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
407 adding data/foo.i |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
408 2 items added, 0 removed from fncache |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
409 |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
410 $ cat .hg/store/fncache | sort |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
411 data/.bar.i |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
412 data/foo.i |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
413 |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
414 Rebuild after rebuild should no-op |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
415 |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
416 $ hg debugrebuildfncache |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
417 fncache already up to date |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
418 |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
419 A single missing file should get restored, an extra file should be removed |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
420 |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
421 $ cat > .hg/store/fncache << EOF |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
422 > data/foo.i |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
423 > data/bad-entry.i |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
424 > EOF |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
425 |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
426 $ hg debugrebuildfncache |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
427 removing data/bad-entry.i |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
428 adding data/.bar.i |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
429 1 items added, 1 removed from fncache |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
430 |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
431 $ cat .hg/store/fncache | sort |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
432 data/.bar.i |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
433 data/foo.i |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
434 |
42715
f59f8a5e9096
fncache: make debugrebuildfncache not fail on broken fncache
Valentin Gatien-Baron <vgatien-baron@janestreet.com>
parents:
42714
diff
changeset
|
435 debugrebuildfncache recovers from truncated line in fncache |
42714
6b71334f2540
fncache: show that debugrebuildfncache is partly broken
Valentin Gatien-Baron <vgatien-baron@janestreet.com>
parents:
41978
diff
changeset
|
436 |
6b71334f2540
fncache: show that debugrebuildfncache is partly broken
Valentin Gatien-Baron <vgatien-baron@janestreet.com>
parents:
41978
diff
changeset
|
437 $ printf a > .hg/store/fncache |
6b71334f2540
fncache: show that debugrebuildfncache is partly broken
Valentin Gatien-Baron <vgatien-baron@janestreet.com>
parents:
41978
diff
changeset
|
438 $ hg debugrebuildfncache |
42715
f59f8a5e9096
fncache: make debugrebuildfncache not fail on broken fncache
Valentin Gatien-Baron <vgatien-baron@janestreet.com>
parents:
42714
diff
changeset
|
439 fncache does not ends with a newline |
f59f8a5e9096
fncache: make debugrebuildfncache not fail on broken fncache
Valentin Gatien-Baron <vgatien-baron@janestreet.com>
parents:
42714
diff
changeset
|
440 adding data/.bar.i |
f59f8a5e9096
fncache: make debugrebuildfncache not fail on broken fncache
Valentin Gatien-Baron <vgatien-baron@janestreet.com>
parents:
42714
diff
changeset
|
441 adding data/foo.i |
f59f8a5e9096
fncache: make debugrebuildfncache not fail on broken fncache
Valentin Gatien-Baron <vgatien-baron@janestreet.com>
parents:
42714
diff
changeset
|
442 2 items added, 0 removed from fncache |
42714
6b71334f2540
fncache: show that debugrebuildfncache is partly broken
Valentin Gatien-Baron <vgatien-baron@janestreet.com>
parents:
41978
diff
changeset
|
443 |
6b71334f2540
fncache: show that debugrebuildfncache is partly broken
Valentin Gatien-Baron <vgatien-baron@janestreet.com>
parents:
41978
diff
changeset
|
444 $ cat .hg/store/fncache | sort |
42715
f59f8a5e9096
fncache: make debugrebuildfncache not fail on broken fncache
Valentin Gatien-Baron <vgatien-baron@janestreet.com>
parents:
42714
diff
changeset
|
445 data/.bar.i |
f59f8a5e9096
fncache: make debugrebuildfncache not fail on broken fncache
Valentin Gatien-Baron <vgatien-baron@janestreet.com>
parents:
42714
diff
changeset
|
446 data/foo.i |
42714
6b71334f2540
fncache: show that debugrebuildfncache is partly broken
Valentin Gatien-Baron <vgatien-baron@janestreet.com>
parents:
41978
diff
changeset
|
447 |
25652
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
448 $ cd .. |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
449 |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
450 Try a simple variation without dotencode to ensure fncache is ignorant of encoding |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
451 |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
452 $ hg --config format.dotencode=false init nodotencode |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
453 $ cd nodotencode |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
454 $ echo initial > foo |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
455 $ echo initial > .bar |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
456 $ hg commit -A -m initial |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
457 adding .bar |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
458 adding foo |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
459 |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
460 $ cat .hg/store/fncache | sort |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
461 data/.bar.i |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
462 data/foo.i |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
463 |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
464 $ rm .hg/store/fncache |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
465 $ hg debugrebuildfncache |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
466 adding data/.bar.i |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
467 adding data/foo.i |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
468 2 items added, 0 removed from fncache |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
469 |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
470 $ cat .hg/store/fncache | sort |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
471 data/.bar.i |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
472 data/foo.i |
38661
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
473 |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
474 $ cd .. |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
475 |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
476 In repositories that have accumulated a large number of files over time, the |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
477 fncache file is going to be large. If we possibly can avoid loading it, so much the better. |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
478 The cache should not loaded when committing changes to existing files, or when unbundling |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
479 changesets that only contain changes to existing files: |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
480 |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
481 $ cat > fncacheloadwarn.py << EOF |
39698
f44187605315
localrepo: move store() from store module
Gregory Szorc <gregory.szorc@gmail.com>
parents:
39489
diff
changeset
|
482 > from mercurial import extensions, localrepo |
38661
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
483 > |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
484 > def extsetup(ui): |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
485 > def wrapstore(orig, requirements, *args): |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
486 > store = orig(requirements, *args) |
40262
c8f164061212
tests: fix inline extension in test-fncache.t for Python 3
Augie Fackler <augie@google.com>
parents:
39698
diff
changeset
|
487 > if b'store' in requirements and b'fncache' in requirements: |
38661
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
488 > instrumentfncachestore(store, ui) |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
489 > return store |
39698
f44187605315
localrepo: move store() from store module
Gregory Szorc <gregory.szorc@gmail.com>
parents:
39489
diff
changeset
|
490 > extensions.wrapfunction(localrepo, 'makestore', wrapstore) |
38661
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
491 > |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
492 > def instrumentfncachestore(fncachestore, ui): |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
493 > class instrumentedfncache(type(fncachestore.fncache)): |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
494 > def _load(self): |
40262
c8f164061212
tests: fix inline extension in test-fncache.t for Python 3
Augie Fackler <augie@google.com>
parents:
39698
diff
changeset
|
495 > ui.warn(b'fncache load triggered!\n') |
38661
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
496 > super(instrumentedfncache, self)._load() |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
497 > fncachestore.fncache.__class__ = instrumentedfncache |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
498 > EOF |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
499 |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
500 $ fncachextpath=`pwd`/fncacheloadwarn.py |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
501 $ hg init nofncacheload |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
502 $ cd nofncacheload |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
503 $ printf "[extensions]\nfncacheloadwarn=$fncachextpath\n" >> .hg/hgrc |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
504 |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
505 A new file should trigger a load, as we'd want to update the fncache set in that case: |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
506 |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
507 $ touch foo |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
508 $ hg ci -qAm foo |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
509 fncache load triggered! |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
510 |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
511 But modifying that file should not: |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
512 |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
513 $ echo bar >> foo |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
514 $ hg ci -qm foo |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
515 |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
516 If a transaction has been aborted, the zero-size truncated index file will |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
517 not prevent the fncache from being loaded; rather than actually abort |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
518 a transaction, we simulate the situation by creating a zero-size index file: |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
519 |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
520 $ touch .hg/store/data/bar.i |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
521 $ touch bar |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
522 $ hg ci -qAm bar |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
523 fncache load triggered! |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
524 |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
525 Unbundling should follow the same rules; existing files should not cause a load: |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
526 |
47447
377d8fc20e34
clone: reuse the stream clone logic for local clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
45681
diff
changeset
|
527 (loading during the clone is expected) |
38661
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
528 $ hg clone -q . tobundle |
47447
377d8fc20e34
clone: reuse the stream clone logic for local clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
45681
diff
changeset
|
529 fncache load triggered! |
377d8fc20e34
clone: reuse the stream clone logic for local clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
45681
diff
changeset
|
530 fncache load triggered! |
377d8fc20e34
clone: reuse the stream clone logic for local clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
45681
diff
changeset
|
531 |
38661
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
532 $ echo 'new line' > tobundle/bar |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
533 $ hg -R tobundle ci -qm bar |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
534 $ hg -R tobundle bundle -q barupdated.hg |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
535 $ hg unbundle -q barupdated.hg |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
536 |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
537 but adding new files should: |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
538 |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
539 $ touch tobundle/newfile |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
540 $ hg -R tobundle ci -qAm newfile |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
541 $ hg -R tobundle bundle -q newfile.hg |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
542 $ hg unbundle -q newfile.hg |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
543 fncache load triggered! |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
544 |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
545 $ cd .. |