test-manifest.t
203 lines
| 5.5 KiB
| text/troff
|
Tads3Lexer
/ tests / test-manifest.t
Matt Mackall
|
r12328 | Source bundle was generated with the following script: | ||
Adrian Buehlmann
|
r12253 | # hg init | ||
# echo a > a | ||||
# ln -s a l | ||||
# hg ci -Ama -d'0 0' | ||||
# mkdir b | ||||
# echo a > b/a | ||||
# chmod +x b/a | ||||
# hg ci -Amb -d'1 0' | ||||
$ hg init | ||||
Gregory Szorc
|
r37455 | $ hg unbundle "$TESTDIR/bundles/test-manifest.hg" | ||
adding changesets | ||||
adding manifests | ||||
adding file changes | ||||
added 2 changesets with 3 changes to 3 files | ||||
Boris Feld
|
r39516 | new changesets b73562a03cfe:5bdc995175ba (2 drafts) | ||
Gregory Szorc
|
r37455 | (run 'hg update' to get a working copy) | ||
Adrian Buehlmann
|
r12253 | |||
The next call is expected to return nothing: | ||||
$ hg manifest | ||||
$ hg co | ||||
3 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
$ hg manifest | ||||
a | ||||
b/a | ||||
l | ||||
Matt Mackall
|
r22423 | $ hg files -vr . | ||
2 a | ||||
Matt Harbison
|
r35394 | 2 x b/a | ||
Matt Mackall
|
r22423 | 1 l l | ||
$ hg files -r . -X b | ||||
a | ||||
l | ||||
Yuya Nishihara
|
r38559 | $ hg files -T '{path} {size} {flags}\n' | ||
a 2 | ||||
b/a 2 x | ||||
l 1 l | ||||
Yuya Nishihara
|
r38560 | $ hg files -T '{path} {node|shortest}\n' -r. | ||
a 5bdc | ||||
b/a 5bdc | ||||
l 5bdc | ||||
Matt Mackall
|
r22423 | |||
Adrian Buehlmann
|
r12253 | $ hg manifest -v | ||
644 a | ||||
755 * b/a | ||||
644 @ l | ||||
Yuya Nishihara
|
r38561 | $ hg manifest -T '{path} {rev}\n' | ||
a 1 | ||||
b/a 1 | ||||
l 1 | ||||
Adrian Buehlmann
|
r12253 | |||
$ hg manifest --debug | ||||
b789fdd96dc2f3bd229c1dd8eedf0fc60e2b68e3 644 a | ||||
b789fdd96dc2f3bd229c1dd8eedf0fc60e2b68e3 755 * b/a | ||||
047b75c6d7a3ef6a2243bd0e99f94f6ea6683597 644 @ l | ||||
$ hg manifest -r 0 | ||||
a | ||||
l | ||||
$ hg manifest -r 1 | ||||
a | ||||
b/a | ||||
l | ||||
$ hg manifest -r tip | ||||
a | ||||
b/a | ||||
l | ||||
$ hg manifest tip | ||||
a | ||||
b/a | ||||
l | ||||
Adrian Buehlmann
|
r14399 | $ hg manifest --all | ||
Gregory Szorc
|
r37456 | a | ||
b/a | ||||
l | ||||
Adrian Buehlmann
|
r12253 | |||
The next two calls are expected to abort: | ||||
$ hg manifest -r 2 | ||||
abort: unknown revision '2'! | ||||
Matt Mackall
|
r12316 | [255] | ||
Adrian Buehlmann
|
r12253 | |||
$ hg manifest -r tip tip | ||||
abort: please specify just one revision | ||||
Matt Mackall
|
r12316 | [255] | ||
r42106 | ||||
Testing the manifest full text cache utility | ||||
-------------------------------------------- | ||||
Reminder of the manifest log content | ||||
$ hg log --debug | grep 'manifest:' | ||||
manifest: 1:1e01206b1d2f72bd55f2a33fa8ccad74144825b7 | ||||
manifest: 0:fce2a30dedad1eef4da95ca1dc0004157aa527cf | ||||
Showing the content of the caches after the above operations | ||||
$ hg debugmanifestfulltextcache | ||||
r42130 | cache contains 1 manifest entries, in order of most to least recent: | |||
id: 1e01206b1d2f72bd55f2a33fa8ccad74144825b7, size 133 bytes | ||||
total cache data size 157 bytes, on-disk 157 bytes | ||||
r42108 | ||||
r42129 | (Clearing the cache in case of any content) | |||
$ hg debugmanifestfulltextcache --clear | ||||
r42108 | Adding a new persistent entry in the cache | |||
$ hg debugmanifestfulltextcache --add 1e01206b1d2f72bd55f2a33fa8ccad74144825b7 | ||||
$ hg debugmanifestfulltextcache | ||||
cache contains 1 manifest entries, in order of most to least recent: | ||||
id: 1e01206b1d2f72bd55f2a33fa8ccad74144825b7, size 133 bytes | ||||
total cache data size 157 bytes, on-disk 157 bytes | ||||
r42110 | ||||
Check we don't duplicated entry (added from the debug command) | ||||
$ hg debugmanifestfulltextcache --add 1e01206b1d2f72bd55f2a33fa8ccad74144825b7 | ||||
$ hg debugmanifestfulltextcache | ||||
cache contains 1 manifest entries, in order of most to least recent: | ||||
id: 1e01206b1d2f72bd55f2a33fa8ccad74144825b7, size 133 bytes | ||||
total cache data size 157 bytes, on-disk 157 bytes | ||||
r42111 | ||||
Adding a second entry | ||||
$ hg debugmanifestfulltextcache --add fce2a30dedad1eef4da95ca1dc0004157aa527cf | ||||
$ hg debugmanifestfulltextcache | ||||
cache contains 2 manifest entries, in order of most to least recent: | ||||
id: fce2a30dedad1eef4da95ca1dc0004157aa527cf, size 87 bytes | ||||
id: 1e01206b1d2f72bd55f2a33fa8ccad74144825b7, size 133 bytes | ||||
total cache data size 268 bytes, on-disk 268 bytes | ||||
r42112 | ||||
Accessing the initial entry again, refresh their order | ||||
$ hg debugmanifestfulltextcache --add 1e01206b1d2f72bd55f2a33fa8ccad74144825b7 | ||||
$ hg debugmanifestfulltextcache | ||||
cache contains 2 manifest entries, in order of most to least recent: | ||||
id: 1e01206b1d2f72bd55f2a33fa8ccad74144825b7, size 133 bytes | ||||
id: fce2a30dedad1eef4da95ca1dc0004157aa527cf, size 87 bytes | ||||
total cache data size 268 bytes, on-disk 268 bytes | ||||
r42113 | ||||
Check cache clearing | ||||
$ hg debugmanifestfulltextcache --clear | ||||
$ hg debugmanifestfulltextcache | ||||
cache empty | ||||
r42124 | ||||
Check adding multiple entry in one go: | ||||
$ hg debugmanifestfulltextcache --add fce2a30dedad1eef4da95ca1dc0004157aa527cf --add 1e01206b1d2f72bd55f2a33fa8ccad74144825b7 | ||||
$ hg debugmanifestfulltextcache | ||||
cache contains 2 manifest entries, in order of most to least recent: | ||||
id: 1e01206b1d2f72bd55f2a33fa8ccad74144825b7, size 133 bytes | ||||
id: fce2a30dedad1eef4da95ca1dc0004157aa527cf, size 87 bytes | ||||
total cache data size 268 bytes, on-disk 268 bytes | ||||
$ hg debugmanifestfulltextcache --clear | ||||
r42126 | ||||
Test caching behavior on actual operation | ||||
----------------------------------------- | ||||
Make sure we start empty | ||||
$ hg debugmanifestfulltextcache | ||||
cache empty | ||||
Commit should have the new node cached: | ||||
$ echo a >> b/a | ||||
$ hg commit -m 'foo' | ||||
$ hg debugmanifestfulltextcache | ||||
cache contains 2 manifest entries, in order of most to least recent: | ||||
id: 26b8653b67af8c1a0a0317c4ee8dac50a41fdb65, size 133 bytes | ||||
id: 1e01206b1d2f72bd55f2a33fa8ccad74144825b7, size 133 bytes | ||||
total cache data size 314 bytes, on-disk 314 bytes | ||||
$ hg log -r 'ancestors(., 1)' --debug | grep 'manifest:' | ||||
manifest: 1:1e01206b1d2f72bd55f2a33fa8ccad74144825b7 | ||||
manifest: 2:26b8653b67af8c1a0a0317c4ee8dac50a41fdb65 | ||||
r42130 | ||||
hg update should warm the cache too | ||||
(force dirstate check to avoid flackiness in manifest order) | ||||
$ hg debugrebuilddirstate | ||||
$ hg update 0 | ||||
0 files updated, 0 files merged, 1 files removed, 0 files unresolved | ||||
$ hg debugmanifestfulltextcache | ||||
cache contains 3 manifest entries, in order of most to least recent: | ||||
id: fce2a30dedad1eef4da95ca1dc0004157aa527cf, size 87 bytes | ||||
id: 26b8653b67af8c1a0a0317c4ee8dac50a41fdb65, size 133 bytes | ||||
id: 1e01206b1d2f72bd55f2a33fa8ccad74144825b7, size 133 bytes | ||||
total cache data size 425 bytes, on-disk 425 bytes | ||||
$ hg log -r '0' --debug | grep 'manifest:' | ||||
manifest: 0:fce2a30dedad1eef4da95ca1dc0004157aa527cf | ||||