annotate tests/test-manifest.t @ 41964:d121823072b8

manifestcache: protect write with `wlock` instead of `lock` The `wlock` is taken by both `update` and `commit` type operation. This would help persisting the cache more aggressively. An explicit test is introduced. However, we can already see the effect of this change on earlier test output.
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Fri, 15 Mar 2019 15:07:43 +0000
parents 6386f9a421d2
children 89c0c8edc9d4
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
12328
b63f6422d2a7 tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12316
diff changeset
1 Source bundle was generated with the following script:
b63f6422d2a7 tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12316
diff changeset
2
5406
f11554a097c8 test-manifest: test symlink and exec bit display
Patrick Mezard <pmezard@gmail.com>
parents: 5155
diff changeset
3 # hg init
f11554a097c8 test-manifest: test symlink and exec bit display
Patrick Mezard <pmezard@gmail.com>
parents: 5155
diff changeset
4 # echo a > a
f11554a097c8 test-manifest: test symlink and exec bit display
Patrick Mezard <pmezard@gmail.com>
parents: 5155
diff changeset
5 # ln -s a l
f11554a097c8 test-manifest: test symlink and exec bit display
Patrick Mezard <pmezard@gmail.com>
parents: 5155
diff changeset
6 # hg ci -Ama -d'0 0'
f11554a097c8 test-manifest: test symlink and exec bit display
Patrick Mezard <pmezard@gmail.com>
parents: 5155
diff changeset
7 # mkdir b
f11554a097c8 test-manifest: test symlink and exec bit display
Patrick Mezard <pmezard@gmail.com>
parents: 5155
diff changeset
8 # echo a > b/a
f11554a097c8 test-manifest: test symlink and exec bit display
Patrick Mezard <pmezard@gmail.com>
parents: 5155
diff changeset
9 # chmod +x b/a
f11554a097c8 test-manifest: test symlink and exec bit display
Patrick Mezard <pmezard@gmail.com>
parents: 5155
diff changeset
10 # hg ci -Amb -d'1 0'
f11554a097c8 test-manifest: test symlink and exec bit display
Patrick Mezard <pmezard@gmail.com>
parents: 5155
diff changeset
11
12253
e5aee120287b tests: unify test-manifest*
Adrian Buehlmann <adrian@cadifra.com>
parents: 6737
diff changeset
12 $ hg init
37437
814e080a1215 commands: document the layering violation in `manifest --all`
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37346
diff changeset
13 $ hg unbundle "$TESTDIR/bundles/test-manifest.hg"
814e080a1215 commands: document the layering violation in `manifest --all`
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37346
diff changeset
14 adding changesets
814e080a1215 commands: document the layering violation in `manifest --all`
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37346
diff changeset
15 adding manifests
814e080a1215 commands: document the layering violation in `manifest --all`
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37346
diff changeset
16 adding file changes
814e080a1215 commands: document the layering violation in `manifest --all`
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37346
diff changeset
17 added 2 changesets with 3 changes to 3 files
39480
89630d0b3e23 phase: report number of non-public changeset alongside the new range
Boris Feld <boris.feld@octobus.net>
parents: 38543
diff changeset
18 new changesets b73562a03cfe:5bdc995175ba (2 drafts)
37437
814e080a1215 commands: document the layering violation in `manifest --all`
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37346
diff changeset
19 (run 'hg update' to get a working copy)
12253
e5aee120287b tests: unify test-manifest*
Adrian Buehlmann <adrian@cadifra.com>
parents: 6737
diff changeset
20
e5aee120287b tests: unify test-manifest*
Adrian Buehlmann <adrian@cadifra.com>
parents: 6737
diff changeset
21 The next call is expected to return nothing:
e5aee120287b tests: unify test-manifest*
Adrian Buehlmann <adrian@cadifra.com>
parents: 6737
diff changeset
22
e5aee120287b tests: unify test-manifest*
Adrian Buehlmann <adrian@cadifra.com>
parents: 6737
diff changeset
23 $ hg manifest
e5aee120287b tests: unify test-manifest*
Adrian Buehlmann <adrian@cadifra.com>
parents: 6737
diff changeset
24
e5aee120287b tests: unify test-manifest*
Adrian Buehlmann <adrian@cadifra.com>
parents: 6737
diff changeset
25 $ hg co
e5aee120287b tests: unify test-manifest*
Adrian Buehlmann <adrian@cadifra.com>
parents: 6737
diff changeset
26 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
5406
f11554a097c8 test-manifest: test symlink and exec bit display
Patrick Mezard <pmezard@gmail.com>
parents: 5155
diff changeset
27
12253
e5aee120287b tests: unify test-manifest*
Adrian Buehlmann <adrian@cadifra.com>
parents: 6737
diff changeset
28 $ hg manifest
e5aee120287b tests: unify test-manifest*
Adrian Buehlmann <adrian@cadifra.com>
parents: 6737
diff changeset
29 a
e5aee120287b tests: unify test-manifest*
Adrian Buehlmann <adrian@cadifra.com>
parents: 6737
diff changeset
30 b/a
e5aee120287b tests: unify test-manifest*
Adrian Buehlmann <adrian@cadifra.com>
parents: 6737
diff changeset
31 l
e5aee120287b tests: unify test-manifest*
Adrian Buehlmann <adrian@cadifra.com>
parents: 6737
diff changeset
32
22423
edf07a804ac4 files: add new command unifying locate and manifest functionality
Matt Mackall <mpm@selenic.com>
parents: 16907
diff changeset
33 $ hg files -vr .
edf07a804ac4 files: add new command unifying locate and manifest functionality
Matt Mackall <mpm@selenic.com>
parents: 16907
diff changeset
34 2 a
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 23348
diff changeset
35 2 x b/a
22423
edf07a804ac4 files: add new command unifying locate and manifest functionality
Matt Mackall <mpm@selenic.com>
parents: 16907
diff changeset
36 1 l l
edf07a804ac4 files: add new command unifying locate and manifest functionality
Matt Mackall <mpm@selenic.com>
parents: 16907
diff changeset
37 $ hg files -r . -X b
edf07a804ac4 files: add new command unifying locate and manifest functionality
Matt Mackall <mpm@selenic.com>
parents: 16907
diff changeset
38 a
edf07a804ac4 files: add new command unifying locate and manifest functionality
Matt Mackall <mpm@selenic.com>
parents: 16907
diff changeset
39 l
38541
475f5f86eaed files: automatically populate fields referenced from template
Yuya Nishihara <yuya@tcha.org>
parents: 37438
diff changeset
40 $ hg files -T '{path} {size} {flags}\n'
475f5f86eaed files: automatically populate fields referenced from template
Yuya Nishihara <yuya@tcha.org>
parents: 37438
diff changeset
41 a 2
475f5f86eaed files: automatically populate fields referenced from template
Yuya Nishihara <yuya@tcha.org>
parents: 37438
diff changeset
42 b/a 2 x
475f5f86eaed files: automatically populate fields referenced from template
Yuya Nishihara <yuya@tcha.org>
parents: 37438
diff changeset
43 l 1 l
38542
7ae0ea739770 files: add support for log-like template keywords and functions
Yuya Nishihara <yuya@tcha.org>
parents: 38541
diff changeset
44 $ hg files -T '{path} {node|shortest}\n' -r.
7ae0ea739770 files: add support for log-like template keywords and functions
Yuya Nishihara <yuya@tcha.org>
parents: 38541
diff changeset
45 a 5bdc
7ae0ea739770 files: add support for log-like template keywords and functions
Yuya Nishihara <yuya@tcha.org>
parents: 38541
diff changeset
46 b/a 5bdc
7ae0ea739770 files: add support for log-like template keywords and functions
Yuya Nishihara <yuya@tcha.org>
parents: 38541
diff changeset
47 l 5bdc
22423
edf07a804ac4 files: add new command unifying locate and manifest functionality
Matt Mackall <mpm@selenic.com>
parents: 16907
diff changeset
48
12253
e5aee120287b tests: unify test-manifest*
Adrian Buehlmann <adrian@cadifra.com>
parents: 6737
diff changeset
49 $ hg manifest -v
e5aee120287b tests: unify test-manifest*
Adrian Buehlmann <adrian@cadifra.com>
parents: 6737
diff changeset
50 644 a
e5aee120287b tests: unify test-manifest*
Adrian Buehlmann <adrian@cadifra.com>
parents: 6737
diff changeset
51 755 * b/a
e5aee120287b tests: unify test-manifest*
Adrian Buehlmann <adrian@cadifra.com>
parents: 6737
diff changeset
52 644 @ l
38543
ece3f2d0bbd9 manifest: add support for log-like template keywords and functions
Yuya Nishihara <yuya@tcha.org>
parents: 38542
diff changeset
53 $ hg manifest -T '{path} {rev}\n'
ece3f2d0bbd9 manifest: add support for log-like template keywords and functions
Yuya Nishihara <yuya@tcha.org>
parents: 38542
diff changeset
54 a 1
ece3f2d0bbd9 manifest: add support for log-like template keywords and functions
Yuya Nishihara <yuya@tcha.org>
parents: 38542
diff changeset
55 b/a 1
ece3f2d0bbd9 manifest: add support for log-like template keywords and functions
Yuya Nishihara <yuya@tcha.org>
parents: 38542
diff changeset
56 l 1
12253
e5aee120287b tests: unify test-manifest*
Adrian Buehlmann <adrian@cadifra.com>
parents: 6737
diff changeset
57
e5aee120287b tests: unify test-manifest*
Adrian Buehlmann <adrian@cadifra.com>
parents: 6737
diff changeset
58 $ hg manifest --debug
e5aee120287b tests: unify test-manifest*
Adrian Buehlmann <adrian@cadifra.com>
parents: 6737
diff changeset
59 b789fdd96dc2f3bd229c1dd8eedf0fc60e2b68e3 644 a
e5aee120287b tests: unify test-manifest*
Adrian Buehlmann <adrian@cadifra.com>
parents: 6737
diff changeset
60 b789fdd96dc2f3bd229c1dd8eedf0fc60e2b68e3 755 * b/a
e5aee120287b tests: unify test-manifest*
Adrian Buehlmann <adrian@cadifra.com>
parents: 6737
diff changeset
61 047b75c6d7a3ef6a2243bd0e99f94f6ea6683597 644 @ l
6737
7239e06e58e9 context: consistently return p1 context for None
Matt Mackall <mpm@selenic.com>
parents: 5406
diff changeset
62
12253
e5aee120287b tests: unify test-manifest*
Adrian Buehlmann <adrian@cadifra.com>
parents: 6737
diff changeset
63 $ hg manifest -r 0
e5aee120287b tests: unify test-manifest*
Adrian Buehlmann <adrian@cadifra.com>
parents: 6737
diff changeset
64 a
e5aee120287b tests: unify test-manifest*
Adrian Buehlmann <adrian@cadifra.com>
parents: 6737
diff changeset
65 l
e5aee120287b tests: unify test-manifest*
Adrian Buehlmann <adrian@cadifra.com>
parents: 6737
diff changeset
66
e5aee120287b tests: unify test-manifest*
Adrian Buehlmann <adrian@cadifra.com>
parents: 6737
diff changeset
67 $ hg manifest -r 1
e5aee120287b tests: unify test-manifest*
Adrian Buehlmann <adrian@cadifra.com>
parents: 6737
diff changeset
68 a
e5aee120287b tests: unify test-manifest*
Adrian Buehlmann <adrian@cadifra.com>
parents: 6737
diff changeset
69 b/a
e5aee120287b tests: unify test-manifest*
Adrian Buehlmann <adrian@cadifra.com>
parents: 6737
diff changeset
70 l
e5aee120287b tests: unify test-manifest*
Adrian Buehlmann <adrian@cadifra.com>
parents: 6737
diff changeset
71
e5aee120287b tests: unify test-manifest*
Adrian Buehlmann <adrian@cadifra.com>
parents: 6737
diff changeset
72 $ hg manifest -r tip
e5aee120287b tests: unify test-manifest*
Adrian Buehlmann <adrian@cadifra.com>
parents: 6737
diff changeset
73 a
e5aee120287b tests: unify test-manifest*
Adrian Buehlmann <adrian@cadifra.com>
parents: 6737
diff changeset
74 b/a
e5aee120287b tests: unify test-manifest*
Adrian Buehlmann <adrian@cadifra.com>
parents: 6737
diff changeset
75 l
5155
13d23d66a6cd manifest: accept -r for rev specification
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
76
12253
e5aee120287b tests: unify test-manifest*
Adrian Buehlmann <adrian@cadifra.com>
parents: 6737
diff changeset
77 $ hg manifest tip
e5aee120287b tests: unify test-manifest*
Adrian Buehlmann <adrian@cadifra.com>
parents: 6737
diff changeset
78 a
e5aee120287b tests: unify test-manifest*
Adrian Buehlmann <adrian@cadifra.com>
parents: 6737
diff changeset
79 b/a
e5aee120287b tests: unify test-manifest*
Adrian Buehlmann <adrian@cadifra.com>
parents: 6737
diff changeset
80 l
e5aee120287b tests: unify test-manifest*
Adrian Buehlmann <adrian@cadifra.com>
parents: 6737
diff changeset
81
14399
71938479eff9 add new option --all to manifest command
Adrian Buehlmann <adrian@cadifra.com>
parents: 14116
diff changeset
82 $ hg manifest --all
37438
7b7ca9ba2de5 commands: don't violate storage abstractions in `manifest --all`
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37437
diff changeset
83 a
7b7ca9ba2de5 commands: don't violate storage abstractions in `manifest --all`
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37437
diff changeset
84 b/a
7b7ca9ba2de5 commands: don't violate storage abstractions in `manifest --all`
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37437
diff changeset
85 l
12253
e5aee120287b tests: unify test-manifest*
Adrian Buehlmann <adrian@cadifra.com>
parents: 6737
diff changeset
86
e5aee120287b tests: unify test-manifest*
Adrian Buehlmann <adrian@cadifra.com>
parents: 6737
diff changeset
87 The next two calls are expected to abort:
5155
13d23d66a6cd manifest: accept -r for rev specification
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
88
12253
e5aee120287b tests: unify test-manifest*
Adrian Buehlmann <adrian@cadifra.com>
parents: 6737
diff changeset
89 $ hg manifest -r 2
e5aee120287b tests: unify test-manifest*
Adrian Buehlmann <adrian@cadifra.com>
parents: 6737
diff changeset
90 abort: unknown revision '2'!
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12253
diff changeset
91 [255]
12253
e5aee120287b tests: unify test-manifest*
Adrian Buehlmann <adrian@cadifra.com>
parents: 6737
diff changeset
92
e5aee120287b tests: unify test-manifest*
Adrian Buehlmann <adrian@cadifra.com>
parents: 6737
diff changeset
93 $ hg manifest -r tip tip
e5aee120287b tests: unify test-manifest*
Adrian Buehlmann <adrian@cadifra.com>
parents: 6737
diff changeset
94 abort: please specify just one revision
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12253
diff changeset
95 [255]
41940
70d2d47314e5 manifestcache: test and fix some output of the debug command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 39480
diff changeset
96
70d2d47314e5 manifestcache: test and fix some output of the debug command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 39480
diff changeset
97 Testing the manifest full text cache utility
70d2d47314e5 manifestcache: test and fix some output of the debug command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 39480
diff changeset
98 --------------------------------------------
70d2d47314e5 manifestcache: test and fix some output of the debug command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 39480
diff changeset
99
70d2d47314e5 manifestcache: test and fix some output of the debug command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 39480
diff changeset
100 Reminder of the manifest log content
70d2d47314e5 manifestcache: test and fix some output of the debug command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 39480
diff changeset
101
70d2d47314e5 manifestcache: test and fix some output of the debug command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 39480
diff changeset
102 $ hg log --debug | grep 'manifest:'
70d2d47314e5 manifestcache: test and fix some output of the debug command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 39480
diff changeset
103 manifest: 1:1e01206b1d2f72bd55f2a33fa8ccad74144825b7
70d2d47314e5 manifestcache: test and fix some output of the debug command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 39480
diff changeset
104 manifest: 0:fce2a30dedad1eef4da95ca1dc0004157aa527cf
70d2d47314e5 manifestcache: test and fix some output of the debug command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 39480
diff changeset
105
70d2d47314e5 manifestcache: test and fix some output of the debug command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 39480
diff changeset
106 Showing the content of the caches after the above operations
70d2d47314e5 manifestcache: test and fix some output of the debug command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 39480
diff changeset
107
70d2d47314e5 manifestcache: test and fix some output of the debug command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 39480
diff changeset
108 $ hg debugmanifestfulltextcache
41964
d121823072b8 manifestcache: protect write with `wlock` instead of `lock`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41963
diff changeset
109 cache contains 1 manifest entries, in order of most to least recent:
d121823072b8 manifestcache: protect write with `wlock` instead of `lock`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41963
diff changeset
110 id: 1e01206b1d2f72bd55f2a33fa8ccad74144825b7, size 133 bytes
d121823072b8 manifestcache: protect write with `wlock` instead of `lock`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41963
diff changeset
111 total cache data size 157 bytes, on-disk 157 bytes
41942
fbee66c90cef manifestcache: only lock the repository if the debug command touch the cache
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41940
diff changeset
112
41963
6386f9a421d2 manifestcache: clear the cache before testing the debug command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41960
diff changeset
113 (Clearing the cache in case of any content)
6386f9a421d2 manifestcache: clear the cache before testing the debug command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41960
diff changeset
114
6386f9a421d2 manifestcache: clear the cache before testing the debug command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41960
diff changeset
115 $ hg debugmanifestfulltextcache --clear
6386f9a421d2 manifestcache: clear the cache before testing the debug command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41960
diff changeset
116
41942
fbee66c90cef manifestcache: only lock the repository if the debug command touch the cache
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41940
diff changeset
117 Adding a new persistent entry in the cache
fbee66c90cef manifestcache: only lock the repository if the debug command touch the cache
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41940
diff changeset
118
fbee66c90cef manifestcache: only lock the repository if the debug command touch the cache
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41940
diff changeset
119 $ hg debugmanifestfulltextcache --add 1e01206b1d2f72bd55f2a33fa8ccad74144825b7
fbee66c90cef manifestcache: only lock the repository if the debug command touch the cache
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41940
diff changeset
120
fbee66c90cef manifestcache: only lock the repository if the debug command touch the cache
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41940
diff changeset
121 $ hg debugmanifestfulltextcache
fbee66c90cef manifestcache: only lock the repository if the debug command touch the cache
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41940
diff changeset
122 cache contains 1 manifest entries, in order of most to least recent:
fbee66c90cef manifestcache: only lock the repository if the debug command touch the cache
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41940
diff changeset
123 id: 1e01206b1d2f72bd55f2a33fa8ccad74144825b7, size 133 bytes
fbee66c90cef manifestcache: only lock the repository if the debug command touch the cache
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41940
diff changeset
124 total cache data size 157 bytes, on-disk 157 bytes
41944
99eb9f269a5a manifestcache: test that adding the same entry twice do not duplicates it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41943
diff changeset
125
99eb9f269a5a manifestcache: test that adding the same entry twice do not duplicates it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41943
diff changeset
126 Check we don't duplicated entry (added from the debug command)
99eb9f269a5a manifestcache: test that adding the same entry twice do not duplicates it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41943
diff changeset
127
99eb9f269a5a manifestcache: test that adding the same entry twice do not duplicates it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41943
diff changeset
128 $ hg debugmanifestfulltextcache --add 1e01206b1d2f72bd55f2a33fa8ccad74144825b7
99eb9f269a5a manifestcache: test that adding the same entry twice do not duplicates it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41943
diff changeset
129 $ hg debugmanifestfulltextcache
99eb9f269a5a manifestcache: test that adding the same entry twice do not duplicates it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41943
diff changeset
130 cache contains 1 manifest entries, in order of most to least recent:
99eb9f269a5a manifestcache: test that adding the same entry twice do not duplicates it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41943
diff changeset
131 id: 1e01206b1d2f72bd55f2a33fa8ccad74144825b7, size 133 bytes
99eb9f269a5a manifestcache: test that adding the same entry twice do not duplicates it
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41943
diff changeset
132 total cache data size 157 bytes, on-disk 157 bytes
41945
7436653d8542 manifestcache: adding a second distinct entry
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41944
diff changeset
133
7436653d8542 manifestcache: adding a second distinct entry
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41944
diff changeset
134 Adding a second entry
7436653d8542 manifestcache: adding a second distinct entry
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41944
diff changeset
135
7436653d8542 manifestcache: adding a second distinct entry
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41944
diff changeset
136 $ hg debugmanifestfulltextcache --add fce2a30dedad1eef4da95ca1dc0004157aa527cf
7436653d8542 manifestcache: adding a second distinct entry
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41944
diff changeset
137 $ hg debugmanifestfulltextcache
7436653d8542 manifestcache: adding a second distinct entry
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41944
diff changeset
138 cache contains 2 manifest entries, in order of most to least recent:
7436653d8542 manifestcache: adding a second distinct entry
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41944
diff changeset
139 id: fce2a30dedad1eef4da95ca1dc0004157aa527cf, size 87 bytes
7436653d8542 manifestcache: adding a second distinct entry
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41944
diff changeset
140 id: 1e01206b1d2f72bd55f2a33fa8ccad74144825b7, size 133 bytes
7436653d8542 manifestcache: adding a second distinct entry
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41944
diff changeset
141 total cache data size 268 bytes, on-disk 268 bytes
41946
5b77847bdf09 manifestcache: make sure the entry are ordered by access time
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41945
diff changeset
142
5b77847bdf09 manifestcache: make sure the entry are ordered by access time
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41945
diff changeset
143 Accessing the initial entry again, refresh their order
5b77847bdf09 manifestcache: make sure the entry are ordered by access time
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41945
diff changeset
144
5b77847bdf09 manifestcache: make sure the entry are ordered by access time
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41945
diff changeset
145 $ hg debugmanifestfulltextcache --add 1e01206b1d2f72bd55f2a33fa8ccad74144825b7
5b77847bdf09 manifestcache: make sure the entry are ordered by access time
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41945
diff changeset
146 $ hg debugmanifestfulltextcache
5b77847bdf09 manifestcache: make sure the entry are ordered by access time
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41945
diff changeset
147 cache contains 2 manifest entries, in order of most to least recent:
5b77847bdf09 manifestcache: make sure the entry are ordered by access time
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41945
diff changeset
148 id: 1e01206b1d2f72bd55f2a33fa8ccad74144825b7, size 133 bytes
5b77847bdf09 manifestcache: make sure the entry are ordered by access time
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41945
diff changeset
149 id: fce2a30dedad1eef4da95ca1dc0004157aa527cf, size 87 bytes
5b77847bdf09 manifestcache: make sure the entry are ordered by access time
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41945
diff changeset
150 total cache data size 268 bytes, on-disk 268 bytes
41947
b74ef67573e5 manifestcache: actually honor --clear
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41946
diff changeset
151
b74ef67573e5 manifestcache: actually honor --clear
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41946
diff changeset
152 Check cache clearing
b74ef67573e5 manifestcache: actually honor --clear
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41946
diff changeset
153
b74ef67573e5 manifestcache: actually honor --clear
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41946
diff changeset
154 $ hg debugmanifestfulltextcache --clear
b74ef67573e5 manifestcache: actually honor --clear
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41946
diff changeset
155 $ hg debugmanifestfulltextcache
b74ef67573e5 manifestcache: actually honor --clear
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41946
diff changeset
156 cache empty
41958
1fe278aa4ad5 manifestcache: support multiple cache addition in one debug command run
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41947
diff changeset
157
1fe278aa4ad5 manifestcache: support multiple cache addition in one debug command run
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41947
diff changeset
158 Check adding multiple entry in one go:
1fe278aa4ad5 manifestcache: support multiple cache addition in one debug command run
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41947
diff changeset
159
1fe278aa4ad5 manifestcache: support multiple cache addition in one debug command run
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41947
diff changeset
160 $ hg debugmanifestfulltextcache --add fce2a30dedad1eef4da95ca1dc0004157aa527cf --add 1e01206b1d2f72bd55f2a33fa8ccad74144825b7
1fe278aa4ad5 manifestcache: support multiple cache addition in one debug command run
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41947
diff changeset
161 $ hg debugmanifestfulltextcache
1fe278aa4ad5 manifestcache: support multiple cache addition in one debug command run
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41947
diff changeset
162 cache contains 2 manifest entries, in order of most to least recent:
1fe278aa4ad5 manifestcache: support multiple cache addition in one debug command run
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41947
diff changeset
163 id: 1e01206b1d2f72bd55f2a33fa8ccad74144825b7, size 133 bytes
1fe278aa4ad5 manifestcache: support multiple cache addition in one debug command run
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41947
diff changeset
164 id: fce2a30dedad1eef4da95ca1dc0004157aa527cf, size 87 bytes
1fe278aa4ad5 manifestcache: support multiple cache addition in one debug command run
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41947
diff changeset
165 total cache data size 268 bytes, on-disk 268 bytes
1fe278aa4ad5 manifestcache: support multiple cache addition in one debug command run
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41947
diff changeset
166 $ hg debugmanifestfulltextcache --clear
41960
7d417ab1eda9 manifestcache: test the cache is warm after a commit
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41958
diff changeset
167
7d417ab1eda9 manifestcache: test the cache is warm after a commit
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41958
diff changeset
168 Test caching behavior on actual operation
7d417ab1eda9 manifestcache: test the cache is warm after a commit
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41958
diff changeset
169 -----------------------------------------
7d417ab1eda9 manifestcache: test the cache is warm after a commit
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41958
diff changeset
170
7d417ab1eda9 manifestcache: test the cache is warm after a commit
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41958
diff changeset
171 Make sure we start empty
7d417ab1eda9 manifestcache: test the cache is warm after a commit
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41958
diff changeset
172
7d417ab1eda9 manifestcache: test the cache is warm after a commit
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41958
diff changeset
173 $ hg debugmanifestfulltextcache
7d417ab1eda9 manifestcache: test the cache is warm after a commit
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41958
diff changeset
174 cache empty
7d417ab1eda9 manifestcache: test the cache is warm after a commit
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41958
diff changeset
175
7d417ab1eda9 manifestcache: test the cache is warm after a commit
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41958
diff changeset
176 Commit should have the new node cached:
7d417ab1eda9 manifestcache: test the cache is warm after a commit
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41958
diff changeset
177
7d417ab1eda9 manifestcache: test the cache is warm after a commit
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41958
diff changeset
178 $ echo a >> b/a
7d417ab1eda9 manifestcache: test the cache is warm after a commit
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41958
diff changeset
179 $ hg commit -m 'foo'
7d417ab1eda9 manifestcache: test the cache is warm after a commit
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41958
diff changeset
180 $ hg debugmanifestfulltextcache
7d417ab1eda9 manifestcache: test the cache is warm after a commit
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41958
diff changeset
181 cache contains 2 manifest entries, in order of most to least recent:
7d417ab1eda9 manifestcache: test the cache is warm after a commit
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41958
diff changeset
182 id: 26b8653b67af8c1a0a0317c4ee8dac50a41fdb65, size 133 bytes
7d417ab1eda9 manifestcache: test the cache is warm after a commit
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41958
diff changeset
183 id: 1e01206b1d2f72bd55f2a33fa8ccad74144825b7, size 133 bytes
7d417ab1eda9 manifestcache: test the cache is warm after a commit
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41958
diff changeset
184 total cache data size 314 bytes, on-disk 314 bytes
7d417ab1eda9 manifestcache: test the cache is warm after a commit
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41958
diff changeset
185 $ hg log -r 'ancestors(., 1)' --debug | grep 'manifest:'
7d417ab1eda9 manifestcache: test the cache is warm after a commit
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41958
diff changeset
186 manifest: 1:1e01206b1d2f72bd55f2a33fa8ccad74144825b7
7d417ab1eda9 manifestcache: test the cache is warm after a commit
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41958
diff changeset
187 manifest: 2:26b8653b67af8c1a0a0317c4ee8dac50a41fdb65
41964
d121823072b8 manifestcache: protect write with `wlock` instead of `lock`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41963
diff changeset
188
d121823072b8 manifestcache: protect write with `wlock` instead of `lock`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41963
diff changeset
189 hg update should warm the cache too
d121823072b8 manifestcache: protect write with `wlock` instead of `lock`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41963
diff changeset
190
d121823072b8 manifestcache: protect write with `wlock` instead of `lock`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41963
diff changeset
191 (force dirstate check to avoid flackiness in manifest order)
d121823072b8 manifestcache: protect write with `wlock` instead of `lock`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41963
diff changeset
192 $ hg debugrebuilddirstate
d121823072b8 manifestcache: protect write with `wlock` instead of `lock`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41963
diff changeset
193
d121823072b8 manifestcache: protect write with `wlock` instead of `lock`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41963
diff changeset
194 $ hg update 0
d121823072b8 manifestcache: protect write with `wlock` instead of `lock`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41963
diff changeset
195 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
d121823072b8 manifestcache: protect write with `wlock` instead of `lock`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41963
diff changeset
196 $ hg debugmanifestfulltextcache
d121823072b8 manifestcache: protect write with `wlock` instead of `lock`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41963
diff changeset
197 cache contains 3 manifest entries, in order of most to least recent:
d121823072b8 manifestcache: protect write with `wlock` instead of `lock`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41963
diff changeset
198 id: fce2a30dedad1eef4da95ca1dc0004157aa527cf, size 87 bytes
d121823072b8 manifestcache: protect write with `wlock` instead of `lock`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41963
diff changeset
199 id: 26b8653b67af8c1a0a0317c4ee8dac50a41fdb65, size 133 bytes
d121823072b8 manifestcache: protect write with `wlock` instead of `lock`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41963
diff changeset
200 id: 1e01206b1d2f72bd55f2a33fa8ccad74144825b7, size 133 bytes
d121823072b8 manifestcache: protect write with `wlock` instead of `lock`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41963
diff changeset
201 total cache data size 425 bytes, on-disk 425 bytes
d121823072b8 manifestcache: protect write with `wlock` instead of `lock`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41963
diff changeset
202 $ hg log -r '0' --debug | grep 'manifest:'
d121823072b8 manifestcache: protect write with `wlock` instead of `lock`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41963
diff changeset
203 manifest: 0:fce2a30dedad1eef4da95ca1dc0004157aa527cf