Mercurial > hg
annotate tests/test-fncache.t @ 39561:d06834e0f48e
wireprotov2peer: stream decoded responses
Previously, wire protocol version 2 would buffer all response data.
Only once all data was received did we CBOR decode it and resolve
the future associated with the command. This was obviously not
desirable. In future commits that introduce large response payloads,
this caused significant memory bloat and slowed down client
operations due to waiting on the server.
This commit refactors the response handling code so that response
data can be streamed.
Command response objects now contain a buffered CBOR decoder. As
new data arrives, it is fed into the decoder. Decoded objects are
made available to the generator as they are decoded.
Because there is a separate thread processing incoming frames and
feeding data into the response object, there is the potential for
race conditions when mutating response objects. So a lock has been
added to guard access to critical state variables.
Because the generator emitting decoded objects needs to wait on
those objects to become available, we've added an Event for the
generator to wait on so it doesn't busy loop. This does mean
there is the potential for deadlocks. And I'm pretty sure they can
occur in some scenarios. We already have a handful of TODOs around
this. But I've added some more. Fixing this will likely require
moving the background thread receiving frames into clienthandler.
We likely would have done this anyway when implementing the client
bits for the SSH transport.
Test output changes because the initial CBOR map holding the overall
response state is now always handled internally by the response
object.
Differential Revision: https://phab.mercurial-scm.org/D4474
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Wed, 29 Aug 2018 15:17:11 -0700 |
parents | f1186c292d03 |
children | f44187605315 |
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 |
11865
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
3 Init repo1: |
7290 | 4 |
11865
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
5 $ hg init repo1 |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
6 $ cd repo1 |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
7 $ echo "some text" > a |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
8 $ hg add |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
9 adding a |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
10 $ hg ci -m first |
13389
3efc99ac2ac4
tests: sort fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
12316
diff
changeset
|
11 $ cat .hg/store/fncache | sort |
11865
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
12 data/a.i |
7290 | 13 |
11865
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
14 Testing a.i/b: |
7290 | 15 |
11865
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
16 $ mkdir a.i |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
17 $ echo "some other text" > a.i/b |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
18 $ hg add |
35393
4441705b7111
tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents:
33956
diff
changeset
|
19 adding a.i/b |
11865
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
20 $ hg ci -m second |
13389
3efc99ac2ac4
tests: sort fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
12316
diff
changeset
|
21 $ cat .hg/store/fncache | sort |
11865
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
22 data/a.i |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
23 data/a.i.hg/b.i |
7290 | 24 |
11865
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
25 Testing a.i.hg/c: |
7290 | 26 |
11865
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
27 $ mkdir a.i.hg |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
28 $ echo "yet another text" > a.i.hg/c |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
29 $ hg add |
35393
4441705b7111
tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents:
33956
diff
changeset
|
30 adding a.i.hg/c |
11865
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
31 $ hg ci -m third |
13389
3efc99ac2ac4
tests: sort fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
12316
diff
changeset
|
32 $ cat .hg/store/fncache | sort |
11865
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
33 data/a.i |
13389
3efc99ac2ac4
tests: sort fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
12316
diff
changeset
|
34 data/a.i.hg.hg/c.i |
11865
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
35 data/a.i.hg/b.i |
7290 | 36 |
11865
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
37 Testing verify: |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
38 |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
39 $ hg verify |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
40 checking changesets |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
41 checking manifests |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
42 crosschecking files in changesets and manifests |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
43 checking files |
39489
f1186c292d03
verify: make output less confusing (issue5924)
Meirambek Omyrzak <meirambek77@gmail.com>
parents:
39323
diff
changeset
|
44 checked 3 changesets with 3 changes to 3 files |
11865
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
45 |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
46 $ rm .hg/store/fncache |
7290 | 47 |
11865
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
48 $ hg verify |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
49 checking changesets |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
50 checking manifests |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
51 crosschecking files in changesets and manifests |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
52 checking files |
25627
9573d8f346f1
verify: clarify misleading fncache message
Matt Mackall <mpm@selenic.com>
parents:
23904
diff
changeset
|
53 warning: revlog 'data/a.i' not in fncache! |
9573d8f346f1
verify: clarify misleading fncache message
Matt Mackall <mpm@selenic.com>
parents:
23904
diff
changeset
|
54 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
|
55 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
|
56 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
|
57 3 warnings encountered! |
25653
9d1e04f5dca7
verify: print hint to run debugrebuildfncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25652
diff
changeset
|
58 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
|
59 |
9d1e04f5dca7
verify: print hint to run debugrebuildfncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25652
diff
changeset
|
60 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
|
61 |
9d1e04f5dca7
verify: print hint to run debugrebuildfncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25652
diff
changeset
|
62 $ hg debugrebuildfncache |
9d1e04f5dca7
verify: print hint to run debugrebuildfncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25652
diff
changeset
|
63 adding data/a.i |
9d1e04f5dca7
verify: print hint to run debugrebuildfncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25652
diff
changeset
|
64 adding data/a.i.hg/c.i |
9d1e04f5dca7
verify: print hint to run debugrebuildfncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25652
diff
changeset
|
65 adding data/a.i/b.i |
9d1e04f5dca7
verify: print hint to run debugrebuildfncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25652
diff
changeset
|
66 3 items added, 0 removed from fncache |
9d1e04f5dca7
verify: print hint to run debugrebuildfncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25652
diff
changeset
|
67 |
9d1e04f5dca7
verify: print hint to run debugrebuildfncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25652
diff
changeset
|
68 $ hg verify |
9d1e04f5dca7
verify: print hint to run debugrebuildfncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25652
diff
changeset
|
69 checking changesets |
9d1e04f5dca7
verify: print hint to run debugrebuildfncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25652
diff
changeset
|
70 checking manifests |
9d1e04f5dca7
verify: print hint to run debugrebuildfncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25652
diff
changeset
|
71 crosschecking files in changesets and manifests |
9d1e04f5dca7
verify: print hint to run debugrebuildfncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25652
diff
changeset
|
72 checking files |
39489
f1186c292d03
verify: make output less confusing (issue5924)
Meirambek Omyrzak <meirambek77@gmail.com>
parents:
39323
diff
changeset
|
73 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
|
74 |
11865
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
75 $ cd .. |
7290 | 76 |
11865
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
77 Non store repo: |
7290 | 78 |
11865
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
79 $ hg --config format.usestore=False init foo |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
80 $ cd foo |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
81 $ mkdir tst.d |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
82 $ echo foo > tst.d/foo |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
83 $ hg ci -Amfoo |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
84 adding tst.d/foo |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
85 $ find .hg | sort |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
86 .hg |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
87 .hg/00changelog.i |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
88 .hg/00manifest.i |
15886
a5917346c72e
localrepo: update branchcache in a more reliable way
Mads Kiilerich <mads@kiilerich.com>
parents:
15483
diff
changeset
|
89 .hg/cache |
20185
7d4219512823
branchmap: cache open/closed branch head information
Brodie Rao <brodie@sf.io>
parents:
18382
diff
changeset
|
90 .hg/cache/branch2-served |
39323
c11e8894b9ca
tests: mark manifestfulltextcache as conditional on revlog store
Gregory Szorc <gregory.szorc@gmail.com>
parents:
38781
diff
changeset
|
91 .hg/cache/manifestfulltextcache (reporevlogstore !) |
23786
7d63398fbfd1
branchmap: use revbranchcache when updating branch map
Mads Kiilerich <madski@unity3d.com>
parents:
23512
diff
changeset
|
92 .hg/cache/rbc-names-v1 |
7d63398fbfd1
branchmap: use revbranchcache when updating branch map
Mads Kiilerich <madski@unity3d.com>
parents:
23512
diff
changeset
|
93 .hg/cache/rbc-revs-v1 |
11865
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
94 .hg/data |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
95 .hg/data/tst.d.hg |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
96 .hg/data/tst.d.hg/foo.i |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
97 .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
|
98 .hg/fsmonitor.state (fsmonitor !) |
11865
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
99 .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
|
100 .hg/phaseroots |
11865
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
101 .hg/requires |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
102 .hg/undo |
26998
4414d500604f
localrepo: put bookmark move following commit in one transaction
Laurent Charignon <lcharignon@fb.com>
parents:
26587
diff
changeset
|
103 .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
|
104 .hg/undo.backupfiles |
14266
89e7d35e0ef0
fix bookmarks rollback behavior
Alexander Solovyov <alexander@solovyov.net>
parents:
13389
diff
changeset
|
105 .hg/undo.bookmarks |
11865
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
106 .hg/undo.branch |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
107 .hg/undo.desc |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
108 .hg/undo.dirstate |
15455
c6f87bdab2a1
phases: add rollback support
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
15447
diff
changeset
|
109 .hg/undo.phaseroots |
11865
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
110 $ cd .. |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
111 |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
112 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
|
113 |
11865
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
114 $ hg --config format.usefncache=False init bar |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
115 $ cd bar |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
116 $ mkdir tst.d |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
117 $ echo foo > tst.d/Foo |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
118 $ hg ci -Amfoo |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
119 adding tst.d/Foo |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
120 $ find .hg | sort |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
121 .hg |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
122 .hg/00changelog.i |
15886
a5917346c72e
localrepo: update branchcache in a more reliable way
Mads Kiilerich <mads@kiilerich.com>
parents:
15483
diff
changeset
|
123 .hg/cache |
20185
7d4219512823
branchmap: cache open/closed branch head information
Brodie Rao <brodie@sf.io>
parents:
18382
diff
changeset
|
124 .hg/cache/branch2-served |
39323
c11e8894b9ca
tests: mark manifestfulltextcache as conditional on revlog store
Gregory Szorc <gregory.szorc@gmail.com>
parents:
38781
diff
changeset
|
125 .hg/cache/manifestfulltextcache (reporevlogstore !) |
23786
7d63398fbfd1
branchmap: use revbranchcache when updating branch map
Mads Kiilerich <madski@unity3d.com>
parents:
23512
diff
changeset
|
126 .hg/cache/rbc-names-v1 |
7d63398fbfd1
branchmap: use revbranchcache when updating branch map
Mads Kiilerich <madski@unity3d.com>
parents:
23512
diff
changeset
|
127 .hg/cache/rbc-revs-v1 |
11865
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
128 .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
|
129 .hg/fsmonitor.state (fsmonitor !) |
11865
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
130 .hg/last-message.txt |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
131 .hg/requires |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
132 .hg/store |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
133 .hg/store/00changelog.i |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
134 .hg/store/00manifest.i |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
135 .hg/store/data |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
136 .hg/store/data/tst.d.hg |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
137 .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
|
138 .hg/store/phaseroots |
11865
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
139 .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
|
140 .hg/store/undo.backupfiles |
15455
c6f87bdab2a1
phases: add rollback support
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
15447
diff
changeset
|
141 .hg/store/undo.phaseroots |
26998
4414d500604f
localrepo: put bookmark move following commit in one transaction
Laurent Charignon <lcharignon@fb.com>
parents:
26587
diff
changeset
|
142 .hg/undo.backup.dirstate |
14266
89e7d35e0ef0
fix bookmarks rollback behavior
Alexander Solovyov <alexander@solovyov.net>
parents:
13389
diff
changeset
|
143 .hg/undo.bookmarks |
11865
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
144 .hg/undo.branch |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
145 .hg/undo.desc |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
146 .hg/undo.dirstate |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
147 $ 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
|
148 |
17710
95d29533e2ee
test-fncache: test reserved / long paths
Adrian Buehlmann <adrian@cadifra.com>
parents:
15886
diff
changeset
|
149 Encoding of reserved / long paths in the store |
95d29533e2ee
test-fncache: test reserved / long paths
Adrian Buehlmann <adrian@cadifra.com>
parents:
15886
diff
changeset
|
150 |
95d29533e2ee
test-fncache: test reserved / long paths
Adrian Buehlmann <adrian@cadifra.com>
parents:
15886
diff
changeset
|
151 $ hg init r2 |
95d29533e2ee
test-fncache: test reserved / long paths
Adrian Buehlmann <adrian@cadifra.com>
parents:
15886
diff
changeset
|
152 $ cd r2 |
95d29533e2ee
test-fncache: test reserved / long paths
Adrian Buehlmann <adrian@cadifra.com>
parents:
15886
diff
changeset
|
153 $ cat <<EOF > .hg/hgrc |
95d29533e2ee
test-fncache: test reserved / long paths
Adrian Buehlmann <adrian@cadifra.com>
parents:
15886
diff
changeset
|
154 > [ui] |
95d29533e2ee
test-fncache: test reserved / long paths
Adrian Buehlmann <adrian@cadifra.com>
parents:
15886
diff
changeset
|
155 > portablefilenames = ignore |
95d29533e2ee
test-fncache: test reserved / long paths
Adrian Buehlmann <adrian@cadifra.com>
parents:
15886
diff
changeset
|
156 > EOF |
95d29533e2ee
test-fncache: test reserved / long paths
Adrian Buehlmann <adrian@cadifra.com>
parents:
15886
diff
changeset
|
157 |
17748
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
158 $ hg import -q --bypass - <<EOF |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
159 > # HG changeset patch |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
160 > # User test |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
161 > # Date 0 0 |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
162 > # Node ID 1c7a2f7cb77be1a0def34e4c7cabc562ad98fbd7 |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
163 > # Parent 0000000000000000000000000000000000000000 |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
164 > 1 |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
165 > |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
166 > 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
|
167 > new file mode 100644 |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
168 > --- /dev/null |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
169 > +++ 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
|
170 > @@ -0,0 +1,1 @@ |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
171 > +foo |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
172 > 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
|
173 > new file mode 100644 |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
174 > --- /dev/null |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
175 > +++ 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
|
176 > @@ -0,0 +1,1 @@ |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
177 > +foo |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
178 > 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
|
179 > new file mode 100644 |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
180 > --- /dev/null |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
181 > +++ b/Project Planning/Resources/AnotherLongDirectoryName/Followedbyanother/AndAnother/AndThenAnExtremelyLongFileName.txt |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
182 > @@ -0,0 +1,1 @@ |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
183 > +foo |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
184 > 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
|
185 > new file mode 100644 |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
186 > --- /dev/null |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
187 > +++ 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
|
188 > @@ -0,0 +1,1 @@ |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
189 > +foo |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
190 > 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
|
191 > new file mode 100644 |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
192 > --- /dev/null |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
193 > +++ 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
|
194 > @@ -0,0 +1,1 @@ |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
195 > +foo |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
196 > EOF |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
197 |
17710
95d29533e2ee
test-fncache: test reserved / long paths
Adrian Buehlmann <adrian@cadifra.com>
parents:
15886
diff
changeset
|
198 $ find .hg/store -name *.i | sort |
95d29533e2ee
test-fncache: test reserved / long paths
Adrian Buehlmann <adrian@cadifra.com>
parents:
15886
diff
changeset
|
199 .hg/store/00changelog.i |
95d29533e2ee
test-fncache: test reserved / long paths
Adrian Buehlmann <adrian@cadifra.com>
parents:
15886
diff
changeset
|
200 .hg/store/00manifest.i |
95d29533e2ee
test-fncache: test reserved / long paths
Adrian Buehlmann <adrian@cadifra.com>
parents:
15886
diff
changeset
|
201 .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
|
202 .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
|
203 .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
|
204 .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
|
205 .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
|
206 |
95d29533e2ee
test-fncache: test reserved / long paths
Adrian Buehlmann <adrian@cadifra.com>
parents:
15886
diff
changeset
|
207 $ cd .. |
95d29533e2ee
test-fncache: test reserved / long paths
Adrian Buehlmann <adrian@cadifra.com>
parents:
15886
diff
changeset
|
208 |
20883
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
209 Aborting lock does not prevent fncache writes |
17710
95d29533e2ee
test-fncache: test reserved / long paths
Adrian Buehlmann <adrian@cadifra.com>
parents:
15886
diff
changeset
|
210 |
20883
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
211 $ cat > exceptionext.py <<EOF |
33956
1be228b96030
tests: update test-fncache to pass our import checker
Augie Fackler <raf@durin42.com>
parents:
33607
diff
changeset
|
212 > from __future__ import absolute_import |
20883
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
213 > import os |
33956
1be228b96030
tests: update test-fncache to pass our import checker
Augie Fackler <raf@durin42.com>
parents:
33607
diff
changeset
|
214 > 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
|
215 > |
26497
ca778cbe94f3
test-fncache: use args/kwargs for lock wrapper
Siddharth Agarwal <sid0@fb.com>
parents:
26475
diff
changeset
|
216 > 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
|
217 > def releasewrap(): |
27168
8a829fc84bb3
test-fncache: ensure lock doesn't look held to __del__
Augie Fackler <augie@google.com>
parents:
26998
diff
changeset
|
218 > l.held = False # ensure __del__ is a noop |
26587
56b2bcea2529
error: get Abort from 'error' instead of 'util'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
26497
diff
changeset
|
219 > raise error.Abort("forced lock failure") |
27168
8a829fc84bb3
test-fncache: ensure lock doesn't look held to __del__
Augie Fackler <augie@google.com>
parents:
26998
diff
changeset
|
220 > 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
|
221 > return l |
20883
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
222 > |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
223 > def reposetup(ui, repo): |
33956
1be228b96030
tests: update test-fncache to pass our import checker
Augie Fackler <raf@durin42.com>
parents:
33607
diff
changeset
|
224 > 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
|
225 > |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
226 > cmdtable = {} |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
227 > |
27192
a01d3d32b53a
commands: make commit acquire locks before processing (issue4368)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
27168
diff
changeset
|
228 > # 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
|
229 > # 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
|
230 > 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
|
231 > 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
|
232 > wlock = repo.wlock() |
a01d3d32b53a
commands: make commit acquire locks before processing (issue4368)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
27168
diff
changeset
|
233 > try: |
a01d3d32b53a
commands: make commit acquire locks before processing (issue4368)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
27168
diff
changeset
|
234 > 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
|
235 > finally: |
a01d3d32b53a
commands: make commit acquire locks before processing (issue4368)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
27168
diff
changeset
|
236 > # 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
|
237 > # 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
|
238 > # 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
|
239 > 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
|
240 > wlock.release() |
a01d3d32b53a
commands: make commit acquire locks before processing (issue4368)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
27168
diff
changeset
|
241 > |
a01d3d32b53a
commands: make commit acquire locks before processing (issue4368)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
27168
diff
changeset
|
242 > def extsetup(ui): |
36493
5b5cc44b2cdc
py3: add a b'' prefix in tests/test-fncache.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
35393
diff
changeset
|
243 > 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
|
244 > EOF |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
245 $ extpath=`pwd`/exceptionext.py |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
246 $ hg init fncachetxn |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
247 $ cd fncachetxn |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
248 $ 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
|
249 $ touch y |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
250 $ hg ci -qAm y |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
251 abort: forced lock failure |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
252 [255] |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
253 $ cat .hg/store/fncache |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
254 data/y.i |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
255 |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
256 Aborting transaction prevents fncache change |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
257 |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
258 $ cat > ../exceptionext.py <<EOF |
33956
1be228b96030
tests: update test-fncache to pass our import checker
Augie Fackler <raf@durin42.com>
parents:
33607
diff
changeset
|
259 > from __future__ import absolute_import |
20883
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
260 > import os |
33956
1be228b96030
tests: update test-fncache to pass our import checker
Augie Fackler <raf@durin42.com>
parents:
33607
diff
changeset
|
261 > 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
|
262 > |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
263 > 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
|
264 > 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
|
265 > def fail(tr): |
36662
3715a5ffcf92
tests: fix bytes literals in test-fncache.t
Augie Fackler <augie@google.com>
parents:
36493
diff
changeset
|
266 > 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
|
267 > # 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
|
268 > 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
|
269 > return tr |
20883
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
270 > |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
271 > def uisetup(ui): |
33956
1be228b96030
tests: update test-fncache to pass our import checker
Augie Fackler <raf@durin42.com>
parents:
33607
diff
changeset
|
272 > extensions.wrapfunction( |
36662
3715a5ffcf92
tests: fix bytes literals in test-fncache.t
Augie Fackler <augie@google.com>
parents:
36493
diff
changeset
|
273 > 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
|
274 > |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
275 > cmdtable = {} |
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 > EOF |
33607
6c142f279625
pypy: fix failing test files with Pypy5.6.0
Boris Feld <boris.feld@octobus.net>
parents:
33427
diff
changeset
|
278 |
6c142f279625
pypy: fix failing test files with Pypy5.6.0
Boris Feld <boris.feld@octobus.net>
parents:
33427
diff
changeset
|
279 Clean cached version |
21760
a7f5967ff644
tests: ignore missing file with PYTHONDONTWRITEBYTECODE (issue4239)
Matt Mackall <mpm@selenic.com>
parents:
20883
diff
changeset
|
280 $ 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
|
281 $ 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
|
282 |
20883
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
283 $ touch z |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
284 $ hg ci -qAm z |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
285 transaction abort! |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
286 rollback completed |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
287 abort: forced transaction failure |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
288 [255] |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
289 $ cat .hg/store/fncache |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
290 data/y.i |
23063
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
291 |
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
292 Aborted transactions can be recovered later |
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
293 |
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
294 $ cat > ../exceptionext.py <<EOF |
33956
1be228b96030
tests: update test-fncache to pass our import checker
Augie Fackler <raf@durin42.com>
parents:
33607
diff
changeset
|
295 > from __future__ import absolute_import |
23063
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
296 > import os |
33956
1be228b96030
tests: update test-fncache to pass our import checker
Augie Fackler <raf@durin42.com>
parents:
33607
diff
changeset
|
297 > from mercurial import ( |
1be228b96030
tests: update test-fncache to pass our import checker
Augie Fackler <raf@durin42.com>
parents:
33607
diff
changeset
|
298 > commands, |
1be228b96030
tests: update test-fncache to pass our import checker
Augie Fackler <raf@durin42.com>
parents:
33607
diff
changeset
|
299 > error, |
1be228b96030
tests: update test-fncache to pass our import checker
Augie Fackler <raf@durin42.com>
parents:
33607
diff
changeset
|
300 > extensions, |
1be228b96030
tests: update test-fncache to pass our import checker
Augie Fackler <raf@durin42.com>
parents:
33607
diff
changeset
|
301 > localrepo, |
1be228b96030
tests: update test-fncache to pass our import checker
Augie Fackler <raf@durin42.com>
parents:
33607
diff
changeset
|
302 > transaction, |
1be228b96030
tests: update test-fncache to pass our import checker
Augie Fackler <raf@durin42.com>
parents:
33607
diff
changeset
|
303 > ) |
23063
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
304 > |
23512
0ff6b65afeb0
transaction: remove the redundant 'onclose' mechanism
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
23510
diff
changeset
|
305 > 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
|
306 > tr = orig(self, *args, **kwargs) |
0ff6b65afeb0
transaction: remove the redundant 'onclose' mechanism
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
23510
diff
changeset
|
307 > def fail(tr): |
26587
56b2bcea2529
error: get Abort from 'error' instead of 'util'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
26497
diff
changeset
|
308 > raise error.Abort("forced transaction failure") |
23512
0ff6b65afeb0
transaction: remove the redundant 'onclose' mechanism
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
23510
diff
changeset
|
309 > # zzz prefix to ensure it sorted after store.write |
0ff6b65afeb0
transaction: remove the redundant 'onclose' mechanism
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
23510
diff
changeset
|
310 > tr.addfinalize('zzz-forcefails', fail) |
0ff6b65afeb0
transaction: remove the redundant 'onclose' mechanism
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
23510
diff
changeset
|
311 > return tr |
23063
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
312 > |
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
313 > def abortwrapper(orig, self, *args, **kwargs): |
26587
56b2bcea2529
error: get Abort from 'error' instead of 'util'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
26497
diff
changeset
|
314 > raise error.Abort("forced transaction failure") |
23063
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
315 > |
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
316 > def uisetup(ui): |
33956
1be228b96030
tests: update test-fncache to pass our import checker
Augie Fackler <raf@durin42.com>
parents:
33607
diff
changeset
|
317 > extensions.wrapfunction(localrepo.localrepository, 'transaction', |
1be228b96030
tests: update test-fncache to pass our import checker
Augie Fackler <raf@durin42.com>
parents:
33607
diff
changeset
|
318 > trwrapper) |
1be228b96030
tests: update test-fncache to pass our import checker
Augie Fackler <raf@durin42.com>
parents:
33607
diff
changeset
|
319 > extensions.wrapfunction(transaction.transaction, '_abort', |
1be228b96030
tests: update test-fncache to pass our import checker
Augie Fackler <raf@durin42.com>
parents:
33607
diff
changeset
|
320 > abortwrapper) |
23063
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
321 > |
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
322 > cmdtable = {} |
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
323 > |
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
324 > EOF |
33607
6c142f279625
pypy: fix failing test files with Pypy5.6.0
Boris Feld <boris.feld@octobus.net>
parents:
33427
diff
changeset
|
325 |
6c142f279625
pypy: fix failing test files with Pypy5.6.0
Boris Feld <boris.feld@octobus.net>
parents:
33427
diff
changeset
|
326 Clean cached versions |
23063
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
327 $ 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
|
328 $ 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
|
329 |
23063
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
330 $ hg up -q 1 |
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
331 $ touch z |
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
332 $ hg ci -qAm z 2>/dev/null |
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
333 [255] |
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
334 $ cat .hg/store/fncache | sort |
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
335 data/y.i |
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
336 data/z.i |
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
337 $ hg recover |
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
338 rolling back interrupted transaction |
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
339 checking changesets |
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
340 checking manifests |
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
341 crosschecking files in changesets and manifests |
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
342 checking files |
39489
f1186c292d03
verify: make output less confusing (issue5924)
Meirambek Omyrzak <meirambek77@gmail.com>
parents:
39323
diff
changeset
|
343 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
|
344 $ cat .hg/store/fncache |
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
345 data/y.i |
25652
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
346 |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
347 $ cd .. |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
348 |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
349 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
|
350 |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
351 $ hg --config format.usefncache=false init nofncache |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
352 $ cd nofncache |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
353 $ hg debugrebuildfncache |
25874
3e84f40232c7
repair: fix typo in warning message
Wagner Bruna <wbruna@yahoo.com>
parents:
25653
diff
changeset
|
354 (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
|
355 |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
356 $ cd .. |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
357 |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
358 debugrebuildfncache works on empty repository |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
359 |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
360 $ hg init empty |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
361 $ cd empty |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
362 $ hg debugrebuildfncache |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
363 fncache already up to date |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
364 $ cd .. |
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 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
|
367 |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
368 $ hg init repo |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
369 $ cd repo |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
370 $ echo initial > foo |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
371 $ echo initial > .bar |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
372 $ hg commit -A -m initial |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
373 adding .bar |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
374 adding foo |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
375 |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
376 $ cat .hg/store/fncache | sort |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
377 data/.bar.i |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
378 data/foo.i |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
379 |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
380 $ hg debugrebuildfncache |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
381 fncache already up to date |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
382 |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
383 debugrebuildfncache restores deleted fncache file |
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 $ rm -f .hg/store/fncache |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
386 $ hg debugrebuildfncache |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
387 adding data/.bar.i |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
388 adding data/foo.i |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
389 2 items added, 0 removed from fncache |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
390 |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
391 $ cat .hg/store/fncache | sort |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
392 data/.bar.i |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
393 data/foo.i |
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 Rebuild after rebuild should no-op |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
396 |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
397 $ hg debugrebuildfncache |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
398 fncache already up to date |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
399 |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
400 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
|
401 |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
402 $ cat > .hg/store/fncache << EOF |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
403 > data/foo.i |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
404 > data/bad-entry.i |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
405 > EOF |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
406 |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
407 $ hg debugrebuildfncache |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
408 removing data/bad-entry.i |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
409 adding data/.bar.i |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
410 1 items added, 1 removed from fncache |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
411 |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
412 $ cat .hg/store/fncache | sort |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
413 data/.bar.i |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
414 data/foo.i |
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 $ cd .. |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
417 |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
418 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
|
419 |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
420 $ hg --config format.dotencode=false init nodotencode |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
421 $ cd nodotencode |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
422 $ echo initial > foo |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
423 $ echo initial > .bar |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
424 $ hg commit -A -m initial |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
425 adding .bar |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
426 adding foo |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
427 |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
428 $ cat .hg/store/fncache | sort |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
429 data/.bar.i |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
430 data/foo.i |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
431 |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
432 $ rm .hg/store/fncache |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
433 $ hg debugrebuildfncache |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
434 adding data/.bar.i |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
435 adding data/foo.i |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
436 2 items added, 0 removed from fncache |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
437 |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
438 $ cat .hg/store/fncache | sort |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
439 data/.bar.i |
2882d6886919
repair: add functionality to rebuild fncache
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25627
diff
changeset
|
440 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
|
441 |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
442 $ cd .. |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
443 |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
444 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
|
445 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
|
446 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
|
447 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
|
448 |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
449 $ cat > fncacheloadwarn.py << EOF |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
450 > from __future__ import absolute_import |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
451 > from mercurial import extensions, store |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
452 > |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
453 > def extsetup(ui): |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
454 > 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
|
455 > store = orig(requirements, *args) |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
456 > if 'store' in requirements and 'fncache' in requirements: |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
457 > instrumentfncachestore(store, ui) |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
458 > return store |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
459 > extensions.wrapfunction(store, 'store', wrapstore) |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
460 > |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
461 > 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
|
462 > 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
|
463 > def _load(self): |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
464 > ui.warn('fncache load triggered!\n') |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
465 > 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
|
466 > 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
|
467 > EOF |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
468 |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
469 $ 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
|
470 $ hg init nofncacheload |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
471 $ cd nofncacheload |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
472 $ 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
|
473 |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
474 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
|
475 |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
476 $ touch foo |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
477 $ 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
|
478 fncache load triggered! |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
479 |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
480 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
|
481 |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
482 $ echo bar >> foo |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
483 $ 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
|
484 |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
485 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
|
486 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
|
487 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
|
488 |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
489 $ 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
|
490 $ touch bar |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
491 $ 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
|
492 fncache load triggered! |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
493 |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
494 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
|
495 |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
496 $ hg clone -q . tobundle |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
497 $ 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
|
498 $ 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
|
499 $ 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
|
500 $ 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
|
501 |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
502 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
|
503 |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
504 $ touch tobundle/newfile |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
505 $ 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
|
506 $ 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
|
507 $ 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
|
508 fncache load triggered! |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
509 |
8ac0c9cd4c48
fncache: avoid loading the filename cache when not actually modifying it
Martijn Pieters <mj@zopatista.com>
parents:
37415
diff
changeset
|
510 $ cd .. |