Mercurial > hg
annotate tests/test-fncache.t @ 25591:f1d46075b13a
verify: check the subrepository references in .hgsubstate
While hopefully atypical, there are reasons that a subrepository revision can be
lost that aren't covered by corruption of the .hgsubstate revlog. Such things
can happen when a subrepo is amended, stripped or simply isn't pulled from
upstream because the parent repo revision wasn't updated yet. There's no way to
know if it is an error, but this will find potential problems sooner than when
some random revision is updated.
Until recently, convert made no attempt at rewriting the .hgsubstate file. The
impetuous for this is to verify the conversion of some repositories, and this is
orders of magnitude faster than a bash script from 0..tip that does an
'hg update -C $rev'. But it is equally useful to determine if everything has
been pulled down before taking a thumb drive on the go.
It feels somewhat wrong to leave this out of verifymod (mostly because the file
is already read in there, and the final summary is printed before the subrepos
are checked). But verifymod looks very low level, so importing subrepo stuff
there seems more wrong.
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Tue, 16 Jun 2015 16:15:15 -0400 |
parents | d251da5e0e84 |
children | 9573d8f346f1 |
rev | line source |
---|---|
11865
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
1 Init repo1: |
7290 | 2 |
11865
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
3 $ hg init repo1 |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
4 $ cd repo1 |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
5 $ echo "some text" > a |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
6 $ hg add |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
7 adding a |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
8 $ hg ci -m first |
13389
3efc99ac2ac4
tests: sort fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
12316
diff
changeset
|
9 $ cat .hg/store/fncache | sort |
11865
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
10 data/a.i |
7290 | 11 |
11865
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
12 Testing a.i/b: |
7290 | 13 |
11865
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
14 $ mkdir a.i |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
15 $ echo "some other text" > a.i/b |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
16 $ hg add |
15447
9910f60a37ee
tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents:
14266
diff
changeset
|
17 adding a.i/b (glob) |
11865
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
18 $ hg ci -m second |
13389
3efc99ac2ac4
tests: sort fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
12316
diff
changeset
|
19 $ cat .hg/store/fncache | sort |
11865
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
20 data/a.i |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
21 data/a.i.hg/b.i |
7290 | 22 |
11865
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
23 Testing a.i.hg/c: |
7290 | 24 |
11865
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
25 $ mkdir a.i.hg |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
26 $ echo "yet another text" > a.i.hg/c |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
27 $ hg add |
15447
9910f60a37ee
tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents:
14266
diff
changeset
|
28 adding a.i.hg/c (glob) |
11865
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
29 $ hg ci -m third |
13389
3efc99ac2ac4
tests: sort fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
12316
diff
changeset
|
30 $ cat .hg/store/fncache | sort |
11865
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
31 data/a.i |
13389
3efc99ac2ac4
tests: sort fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
12316
diff
changeset
|
32 data/a.i.hg.hg/c.i |
11865
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
33 data/a.i.hg/b.i |
7290 | 34 |
11865
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
35 Testing verify: |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
36 |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
37 $ hg verify |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
38 checking changesets |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
39 checking manifests |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
40 crosschecking files in changesets and manifests |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
41 checking files |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
42 3 files, 3 changesets, 3 total revisions |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
43 |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
44 $ rm .hg/store/fncache |
7290 | 45 |
11865
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
46 $ hg verify |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
47 checking changesets |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
48 checking manifests |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
49 crosschecking files in changesets and manifests |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
50 checking files |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
51 data/a.i@0: missing revlog! |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
52 data/a.i.hg/c.i@2: missing revlog! |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
53 data/a.i/b.i@1: missing revlog! |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
54 3 files, 3 changesets, 3 total revisions |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
55 3 integrity errors encountered! |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
56 (first damaged changeset appears to be 0) |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
11865
diff
changeset
|
57 [1] |
11865
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
58 $ cd .. |
7290 | 59 |
11865
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
60 Non store repo: |
7290 | 61 |
11865
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
62 $ hg --config format.usestore=False init foo |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
63 $ cd foo |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
64 $ mkdir tst.d |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
65 $ echo foo > tst.d/foo |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
66 $ hg ci -Amfoo |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
67 adding tst.d/foo |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
68 $ find .hg | sort |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
69 .hg |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
70 .hg/00changelog.i |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
71 .hg/00manifest.i |
15886
a5917346c72e
localrepo: update branchcache in a more reliable way
Mads Kiilerich <mads@kiilerich.com>
parents:
15483
diff
changeset
|
72 .hg/cache |
20185
7d4219512823
branchmap: cache open/closed branch head information
Brodie Rao <brodie@sf.io>
parents:
18382
diff
changeset
|
73 .hg/cache/branch2-served |
23786
7d63398fbfd1
branchmap: use revbranchcache when updating branch map
Mads Kiilerich <madski@unity3d.com>
parents:
23512
diff
changeset
|
74 .hg/cache/rbc-names-v1 |
7d63398fbfd1
branchmap: use revbranchcache when updating branch map
Mads Kiilerich <madski@unity3d.com>
parents:
23512
diff
changeset
|
75 .hg/cache/rbc-revs-v1 |
11865
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
76 .hg/data |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
77 .hg/data/tst.d.hg |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
78 .hg/data/tst.d.hg/foo.i |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
79 .hg/dirstate |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
80 .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
|
81 .hg/phaseroots |
11865
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
82 .hg/requires |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
83 .hg/undo |
23904
d251da5e0e84
transaction: include backup file in the "undo" transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
23786
diff
changeset
|
84 .hg/undo.backupfiles |
14266
89e7d35e0ef0
fix bookmarks rollback behavior
Alexander Solovyov <alexander@solovyov.net>
parents:
13389
diff
changeset
|
85 .hg/undo.bookmarks |
11865
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
86 .hg/undo.branch |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
87 .hg/undo.desc |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
88 .hg/undo.dirstate |
15455
c6f87bdab2a1
phases: add rollback support
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
15447
diff
changeset
|
89 .hg/undo.phaseroots |
11865
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
90 $ cd .. |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
91 |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
92 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
|
93 |
11865
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
94 $ hg --config format.usefncache=False init bar |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
95 $ cd bar |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
96 $ mkdir tst.d |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
97 $ echo foo > tst.d/Foo |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
98 $ hg ci -Amfoo |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
99 adding tst.d/Foo |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
100 $ find .hg | sort |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
101 .hg |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
102 .hg/00changelog.i |
15886
a5917346c72e
localrepo: update branchcache in a more reliable way
Mads Kiilerich <mads@kiilerich.com>
parents:
15483
diff
changeset
|
103 .hg/cache |
20185
7d4219512823
branchmap: cache open/closed branch head information
Brodie Rao <brodie@sf.io>
parents:
18382
diff
changeset
|
104 .hg/cache/branch2-served |
23786
7d63398fbfd1
branchmap: use revbranchcache when updating branch map
Mads Kiilerich <madski@unity3d.com>
parents:
23512
diff
changeset
|
105 .hg/cache/rbc-names-v1 |
7d63398fbfd1
branchmap: use revbranchcache when updating branch map
Mads Kiilerich <madski@unity3d.com>
parents:
23512
diff
changeset
|
106 .hg/cache/rbc-revs-v1 |
11865
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
107 .hg/dirstate |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
108 .hg/last-message.txt |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
109 .hg/requires |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
110 .hg/store |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
111 .hg/store/00changelog.i |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
112 .hg/store/00manifest.i |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
113 .hg/store/data |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
114 .hg/store/data/tst.d.hg |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
115 .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
|
116 .hg/store/phaseroots |
11865
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
117 .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
|
118 .hg/store/undo.backupfiles |
15455
c6f87bdab2a1
phases: add rollback support
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
15447
diff
changeset
|
119 .hg/store/undo.phaseroots |
14266
89e7d35e0ef0
fix bookmarks rollback behavior
Alexander Solovyov <alexander@solovyov.net>
parents:
13389
diff
changeset
|
120 .hg/undo.bookmarks |
11865
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
121 .hg/undo.branch |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
122 .hg/undo.desc |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
123 .hg/undo.dirstate |
400aa8f28f6b
tests: unify test-fncache
Adrian Buehlmann <adrian@cadifra.com>
parents:
8721
diff
changeset
|
124 $ 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
|
125 |
17710
95d29533e2ee
test-fncache: test reserved / long paths
Adrian Buehlmann <adrian@cadifra.com>
parents:
15886
diff
changeset
|
126 Encoding of reserved / long paths in the store |
95d29533e2ee
test-fncache: test reserved / long paths
Adrian Buehlmann <adrian@cadifra.com>
parents:
15886
diff
changeset
|
127 |
95d29533e2ee
test-fncache: test reserved / long paths
Adrian Buehlmann <adrian@cadifra.com>
parents:
15886
diff
changeset
|
128 $ hg init r2 |
95d29533e2ee
test-fncache: test reserved / long paths
Adrian Buehlmann <adrian@cadifra.com>
parents:
15886
diff
changeset
|
129 $ cd r2 |
95d29533e2ee
test-fncache: test reserved / long paths
Adrian Buehlmann <adrian@cadifra.com>
parents:
15886
diff
changeset
|
130 $ cat <<EOF > .hg/hgrc |
95d29533e2ee
test-fncache: test reserved / long paths
Adrian Buehlmann <adrian@cadifra.com>
parents:
15886
diff
changeset
|
131 > [ui] |
95d29533e2ee
test-fncache: test reserved / long paths
Adrian Buehlmann <adrian@cadifra.com>
parents:
15886
diff
changeset
|
132 > portablefilenames = ignore |
95d29533e2ee
test-fncache: test reserved / long paths
Adrian Buehlmann <adrian@cadifra.com>
parents:
15886
diff
changeset
|
133 > EOF |
95d29533e2ee
test-fncache: test reserved / long paths
Adrian Buehlmann <adrian@cadifra.com>
parents:
15886
diff
changeset
|
134 |
17748
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
135 $ hg import -q --bypass - <<EOF |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
136 > # HG changeset patch |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
137 > # User test |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
138 > # Date 0 0 |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
139 > # Node ID 1c7a2f7cb77be1a0def34e4c7cabc562ad98fbd7 |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
140 > # Parent 0000000000000000000000000000000000000000 |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
141 > 1 |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
142 > |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
143 > 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
|
144 > new file mode 100644 |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
145 > --- /dev/null |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
146 > +++ 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
|
147 > @@ -0,0 +1,1 @@ |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
148 > +foo |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
149 > 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
|
150 > new file mode 100644 |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
151 > --- /dev/null |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
152 > +++ 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
|
153 > @@ -0,0 +1,1 @@ |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
154 > +foo |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
155 > 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
|
156 > new file mode 100644 |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
157 > --- /dev/null |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
158 > +++ b/Project Planning/Resources/AnotherLongDirectoryName/Followedbyanother/AndAnother/AndThenAnExtremelyLongFileName.txt |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
159 > @@ -0,0 +1,1 @@ |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
160 > +foo |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
161 > 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
|
162 > new file mode 100644 |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
163 > --- /dev/null |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
164 > +++ 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
|
165 > @@ -0,0 +1,1 @@ |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
166 > +foo |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
167 > 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
|
168 > new file mode 100644 |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
169 > --- /dev/null |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
170 > +++ 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
|
171 > @@ -0,0 +1,1 @@ |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
172 > +foo |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
173 > EOF |
49f759636aaf
test-fncache: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17710
diff
changeset
|
174 |
17710
95d29533e2ee
test-fncache: test reserved / long paths
Adrian Buehlmann <adrian@cadifra.com>
parents:
15886
diff
changeset
|
175 $ find .hg/store -name *.i | sort |
95d29533e2ee
test-fncache: test reserved / long paths
Adrian Buehlmann <adrian@cadifra.com>
parents:
15886
diff
changeset
|
176 .hg/store/00changelog.i |
95d29533e2ee
test-fncache: test reserved / long paths
Adrian Buehlmann <adrian@cadifra.com>
parents:
15886
diff
changeset
|
177 .hg/store/00manifest.i |
95d29533e2ee
test-fncache: test reserved / long paths
Adrian Buehlmann <adrian@cadifra.com>
parents:
15886
diff
changeset
|
178 .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
|
179 .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
|
180 .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
|
181 .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
|
182 .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
|
183 |
95d29533e2ee
test-fncache: test reserved / long paths
Adrian Buehlmann <adrian@cadifra.com>
parents:
15886
diff
changeset
|
184 $ cd .. |
95d29533e2ee
test-fncache: test reserved / long paths
Adrian Buehlmann <adrian@cadifra.com>
parents:
15886
diff
changeset
|
185 |
20883
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
186 Aborting lock does not prevent fncache writes |
17710
95d29533e2ee
test-fncache: test reserved / long paths
Adrian Buehlmann <adrian@cadifra.com>
parents:
15886
diff
changeset
|
187 |
20883
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
188 $ cat > exceptionext.py <<EOF |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
189 > import os |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
190 > from mercurial import commands, util |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
191 > from mercurial.extensions import wrapfunction |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
192 > |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
193 > def lockexception(orig, vfs, lockname, wait, releasefn, acquirefn, desc): |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
194 > def releasewrap(): |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
195 > raise util.Abort("forced lock failure") |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
196 > return orig(vfs, lockname, wait, releasewrap, acquirefn, desc) |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
197 > |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
198 > def reposetup(ui, repo): |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
199 > wrapfunction(repo, '_lock', lockexception) |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
200 > |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
201 > cmdtable = {} |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
202 > |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
203 > EOF |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
204 $ extpath=`pwd`/exceptionext.py |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
205 $ hg init fncachetxn |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
206 $ cd fncachetxn |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
207 $ 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
|
208 $ touch y |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
209 $ hg ci -qAm y |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
210 abort: forced lock failure |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
211 [255] |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
212 $ cat .hg/store/fncache |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
213 data/y.i |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
214 |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
215 Aborting transaction prevents fncache change |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
216 |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
217 $ cat > ../exceptionext.py <<EOF |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
218 > import os |
23510
065c0334846f
fncache: drop dedicated 'onclose' function in favor of 'tr.addfinalize'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
23063
diff
changeset
|
219 > from mercurial import commands, util, localrepo |
20883
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
220 > from mercurial.extensions import wrapfunction |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
221 > |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
222 > 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
|
223 > 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
|
224 > def fail(tr): |
20883
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
225 > raise util.Abort("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
|
226 > # zzz prefix to ensure it sorted after store.write |
065c0334846f
fncache: drop dedicated 'onclose' function in favor of 'tr.addfinalize'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
23063
diff
changeset
|
227 > tr.addfinalize('zzz-forcefails', fail) |
065c0334846f
fncache: drop dedicated 'onclose' function in favor of 'tr.addfinalize'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
23063
diff
changeset
|
228 > return tr |
20883
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
229 > |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
230 > def uisetup(ui): |
23510
065c0334846f
fncache: drop dedicated 'onclose' function in favor of 'tr.addfinalize'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
23063
diff
changeset
|
231 > wrapfunction(localrepo.localrepository, 'transaction', wrapper) |
20883
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
232 > |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
233 > cmdtable = {} |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
234 > |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
235 > EOF |
21760
a7f5967ff644
tests: ignore missing file with PYTHONDONTWRITEBYTECODE (issue4239)
Matt Mackall <mpm@selenic.com>
parents:
20883
diff
changeset
|
236 $ rm -f "${extpath}c" |
20883
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
237 $ touch z |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
238 $ hg ci -qAm z |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
239 transaction abort! |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
240 rollback completed |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
241 abort: forced transaction failure |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
242 [255] |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
243 $ cat .hg/store/fncache |
cd443c7589cc
fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com>
parents:
20185
diff
changeset
|
244 data/y.i |
23063
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
245 |
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
246 Aborted transactions can be recovered later |
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
247 |
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
248 $ cat > ../exceptionext.py <<EOF |
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
249 > import os |
23512
0ff6b65afeb0
transaction: remove the redundant 'onclose' mechanism
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
23510
diff
changeset
|
250 > from mercurial import commands, util, transaction, localrepo |
23063
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
251 > from mercurial.extensions import wrapfunction |
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
252 > |
23512
0ff6b65afeb0
transaction: remove the redundant 'onclose' mechanism
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
23510
diff
changeset
|
253 > 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
|
254 > tr = orig(self, *args, **kwargs) |
0ff6b65afeb0
transaction: remove the redundant 'onclose' mechanism
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
23510
diff
changeset
|
255 > def fail(tr): |
23063
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
256 > raise util.Abort("forced transaction failure") |
23512
0ff6b65afeb0
transaction: remove the redundant 'onclose' mechanism
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
23510
diff
changeset
|
257 > # 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
|
258 > tr.addfinalize('zzz-forcefails', fail) |
0ff6b65afeb0
transaction: remove the redundant 'onclose' mechanism
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
23510
diff
changeset
|
259 > return tr |
23063
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
260 > |
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
261 > def abortwrapper(orig, self, *args, **kwargs): |
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
262 > raise util.Abort("forced transaction failure") |
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
263 > |
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
264 > def uisetup(ui): |
23512
0ff6b65afeb0
transaction: remove the redundant 'onclose' mechanism
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
23510
diff
changeset
|
265 > wrapfunction(localrepo.localrepository, 'transaction', trwrapper) |
23063
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
266 > wrapfunction(transaction.transaction, '_abort', abortwrapper) |
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
267 > |
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
268 > cmdtable = {} |
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
269 > |
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
270 > EOF |
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
271 $ rm -f "${extpath}c" |
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
272 $ hg up -q 1 |
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
273 $ touch z |
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
274 $ hg ci -qAm z 2>/dev/null |
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
275 [255] |
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
276 $ cat .hg/store/fncache | sort |
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
277 data/y.i |
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
278 data/z.i |
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
279 $ hg recover |
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
280 rolling back interrupted transaction |
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
281 checking changesets |
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
282 checking manifests |
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
283 crosschecking files in changesets and manifests |
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
284 checking files |
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
285 1 files, 1 changesets, 1 total revisions |
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
286 $ cat .hg/store/fncache |
cd86a6707159
transactions: fix hg recover with fncache backups
Durham Goode <durham@fb.com>
parents:
21760
diff
changeset
|
287 data/y.i |