annotate tests/test-manifest.t @ 42619:20d0e59be79b

tests: show the files fields of changelogs for many merges I don't think there's coverage for many of the subtle cases, and I found it hard to understand what the code is doing by reading it. The test takes 40s to run on a laptop, or 9s with --chg. I have yet to find a description of what the files field is supposed to be for merges. I thought it could be one of: 1. the files added/modified/removed relative to p1 (wouldn't seem useful, but `hg diff -c -r mergerev` has this behavior) 2. the files with filelog nodes not in either parent (i.e., what is needed to create a bundle out of a commit) 3. the files added/removed/modified files by merge itself [1] It's clearly not 1, because file contents merges are symmetric. It's clearly not 2 because removed files and exec bit changes are listed. It's also not 3 but I think it's intended to be 3 and the differences are bugs. Assuming 3, the test shows that, for merges, the list of files both overapproximates and underapproximates. All the cases involve file changes not in the filelog but in the manifest (existence of file at revision, exec bit and file vs symlink). I didn't look at all underapproximations, but they looked minor. The two overapproximations are problematic though because they both cause potentially long lists of files when merging cleanly. [1] even what it means for the merge commit itself to change a file is not completely trivial. A file in the merge being the same as in one of the parent is too lax as it would consider that merges change nothing when they revert all the changes done on one side. The criteria used in the test and in the next commit for "merge didn't touch a file" is: - the parents and the merge all have the same file - or, one parent didn't touch the file and the other parent contains the same file as the merge Differential Revision: https://phab.mercurial-scm.org/D6612
author Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
date Tue, 02 Jul 2019 12:55:51 -0400
parents 0546ead39a7e
children 8377570a36a9
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
42376
89c0c8edc9d4 tests: demonstrate broken manifest generation with the pure module
Matt Harbison <matt_harbison@yahoo.com>
parents: 41964
diff changeset
204
89c0c8edc9d4 tests: demonstrate broken manifest generation with the pure module
Matt Harbison <matt_harbison@yahoo.com>
parents: 41964
diff changeset
205 Test file removal (especially with pure). The tests are crafted such that there
89c0c8edc9d4 tests: demonstrate broken manifest generation with the pure module
Matt Harbison <matt_harbison@yahoo.com>
parents: 41964
diff changeset
206 will be contiguous spans of existing entries to ensure that is handled properly.
89c0c8edc9d4 tests: demonstrate broken manifest generation with the pure module
Matt Harbison <matt_harbison@yahoo.com>
parents: 41964
diff changeset
207 (In this case, a.txt, aa.txt and c.txt, cc.txt, and ccc.txt)
89c0c8edc9d4 tests: demonstrate broken manifest generation with the pure module
Matt Harbison <matt_harbison@yahoo.com>
parents: 41964
diff changeset
208
89c0c8edc9d4 tests: demonstrate broken manifest generation with the pure module
Matt Harbison <matt_harbison@yahoo.com>
parents: 41964
diff changeset
209 $ cat > $TESTTMP/manifest.py <<EOF
89c0c8edc9d4 tests: demonstrate broken manifest generation with the pure module
Matt Harbison <matt_harbison@yahoo.com>
parents: 41964
diff changeset
210 > from mercurial import (
89c0c8edc9d4 tests: demonstrate broken manifest generation with the pure module
Matt Harbison <matt_harbison@yahoo.com>
parents: 41964
diff changeset
211 > extensions,
89c0c8edc9d4 tests: demonstrate broken manifest generation with the pure module
Matt Harbison <matt_harbison@yahoo.com>
parents: 41964
diff changeset
212 > manifest,
89c0c8edc9d4 tests: demonstrate broken manifest generation with the pure module
Matt Harbison <matt_harbison@yahoo.com>
parents: 41964
diff changeset
213 > )
89c0c8edc9d4 tests: demonstrate broken manifest generation with the pure module
Matt Harbison <matt_harbison@yahoo.com>
parents: 41964
diff changeset
214 > def extsetup(ui):
89c0c8edc9d4 tests: demonstrate broken manifest generation with the pure module
Matt Harbison <matt_harbison@yahoo.com>
parents: 41964
diff changeset
215 > manifest.FASTDELTA_TEXTDIFF_THRESHOLD = 0
89c0c8edc9d4 tests: demonstrate broken manifest generation with the pure module
Matt Harbison <matt_harbison@yahoo.com>
parents: 41964
diff changeset
216 > EOF
89c0c8edc9d4 tests: demonstrate broken manifest generation with the pure module
Matt Harbison <matt_harbison@yahoo.com>
parents: 41964
diff changeset
217 $ cat >> $HGRCPATH <<EOF
89c0c8edc9d4 tests: demonstrate broken manifest generation with the pure module
Matt Harbison <matt_harbison@yahoo.com>
parents: 41964
diff changeset
218 > [extensions]
89c0c8edc9d4 tests: demonstrate broken manifest generation with the pure module
Matt Harbison <matt_harbison@yahoo.com>
parents: 41964
diff changeset
219 > manifest = $TESTTMP/manifest.py
89c0c8edc9d4 tests: demonstrate broken manifest generation with the pure module
Matt Harbison <matt_harbison@yahoo.com>
parents: 41964
diff changeset
220 > EOF
89c0c8edc9d4 tests: demonstrate broken manifest generation with the pure module
Matt Harbison <matt_harbison@yahoo.com>
parents: 41964
diff changeset
221
42377
0546ead39a7e manifest: avoid corruption by dropping removed files with pure (issue5801)
Matt Harbison <matt_harbison@yahoo.com>
parents: 42376
diff changeset
222 Pure removes should actually remove all dropped entries
42376
89c0c8edc9d4 tests: demonstrate broken manifest generation with the pure module
Matt Harbison <matt_harbison@yahoo.com>
parents: 41964
diff changeset
223
89c0c8edc9d4 tests: demonstrate broken manifest generation with the pure module
Matt Harbison <matt_harbison@yahoo.com>
parents: 41964
diff changeset
224 $ hg init repo
89c0c8edc9d4 tests: demonstrate broken manifest generation with the pure module
Matt Harbison <matt_harbison@yahoo.com>
parents: 41964
diff changeset
225 $ cd repo
89c0c8edc9d4 tests: demonstrate broken manifest generation with the pure module
Matt Harbison <matt_harbison@yahoo.com>
parents: 41964
diff changeset
226 $ echo a > a.txt
89c0c8edc9d4 tests: demonstrate broken manifest generation with the pure module
Matt Harbison <matt_harbison@yahoo.com>
parents: 41964
diff changeset
227 $ echo aa > aa.txt
89c0c8edc9d4 tests: demonstrate broken manifest generation with the pure module
Matt Harbison <matt_harbison@yahoo.com>
parents: 41964
diff changeset
228 $ echo b > b.txt
89c0c8edc9d4 tests: demonstrate broken manifest generation with the pure module
Matt Harbison <matt_harbison@yahoo.com>
parents: 41964
diff changeset
229 $ echo c > c.txt
89c0c8edc9d4 tests: demonstrate broken manifest generation with the pure module
Matt Harbison <matt_harbison@yahoo.com>
parents: 41964
diff changeset
230 $ echo c > cc.txt
89c0c8edc9d4 tests: demonstrate broken manifest generation with the pure module
Matt Harbison <matt_harbison@yahoo.com>
parents: 41964
diff changeset
231 $ echo c > ccc.txt
89c0c8edc9d4 tests: demonstrate broken manifest generation with the pure module
Matt Harbison <matt_harbison@yahoo.com>
parents: 41964
diff changeset
232 $ echo b > d.txt
89c0c8edc9d4 tests: demonstrate broken manifest generation with the pure module
Matt Harbison <matt_harbison@yahoo.com>
parents: 41964
diff changeset
233 $ echo c > e.txt
89c0c8edc9d4 tests: demonstrate broken manifest generation with the pure module
Matt Harbison <matt_harbison@yahoo.com>
parents: 41964
diff changeset
234 $ hg ci -Aqm 'a-e'
89c0c8edc9d4 tests: demonstrate broken manifest generation with the pure module
Matt Harbison <matt_harbison@yahoo.com>
parents: 41964
diff changeset
235
89c0c8edc9d4 tests: demonstrate broken manifest generation with the pure module
Matt Harbison <matt_harbison@yahoo.com>
parents: 41964
diff changeset
236 $ hg rm b.txt d.txt
89c0c8edc9d4 tests: demonstrate broken manifest generation with the pure module
Matt Harbison <matt_harbison@yahoo.com>
parents: 41964
diff changeset
237 $ hg ci -m 'remove b and d'
89c0c8edc9d4 tests: demonstrate broken manifest generation with the pure module
Matt Harbison <matt_harbison@yahoo.com>
parents: 41964
diff changeset
238
89c0c8edc9d4 tests: demonstrate broken manifest generation with the pure module
Matt Harbison <matt_harbison@yahoo.com>
parents: 41964
diff changeset
239 $ hg debugdata -m 1
89c0c8edc9d4 tests: demonstrate broken manifest generation with the pure module
Matt Harbison <matt_harbison@yahoo.com>
parents: 41964
diff changeset
240 a.txt\x00b789fdd96dc2f3bd229c1dd8eedf0fc60e2b68e3 (esc)
89c0c8edc9d4 tests: demonstrate broken manifest generation with the pure module
Matt Harbison <matt_harbison@yahoo.com>
parents: 41964
diff changeset
241 aa.txt\x00a4bdc161c8fbb523c9a60409603f8710ff49a571 (esc)
89c0c8edc9d4 tests: demonstrate broken manifest generation with the pure module
Matt Harbison <matt_harbison@yahoo.com>
parents: 41964
diff changeset
242 c.txt\x00149da44f2a4e14f488b7bd4157945a9837408c00 (esc)
89c0c8edc9d4 tests: demonstrate broken manifest generation with the pure module
Matt Harbison <matt_harbison@yahoo.com>
parents: 41964
diff changeset
243 cc.txt\x00149da44f2a4e14f488b7bd4157945a9837408c00 (esc)
89c0c8edc9d4 tests: demonstrate broken manifest generation with the pure module
Matt Harbison <matt_harbison@yahoo.com>
parents: 41964
diff changeset
244 ccc.txt\x00149da44f2a4e14f488b7bd4157945a9837408c00 (esc)
89c0c8edc9d4 tests: demonstrate broken manifest generation with the pure module
Matt Harbison <matt_harbison@yahoo.com>
parents: 41964
diff changeset
245 e.txt\x00149da44f2a4e14f488b7bd4157945a9837408c00 (esc)
89c0c8edc9d4 tests: demonstrate broken manifest generation with the pure module
Matt Harbison <matt_harbison@yahoo.com>
parents: 41964
diff changeset
246
42377
0546ead39a7e manifest: avoid corruption by dropping removed files with pure (issue5801)
Matt Harbison <matt_harbison@yahoo.com>
parents: 42376
diff changeset
247 $ hg up -qC .
42376
89c0c8edc9d4 tests: demonstrate broken manifest generation with the pure module
Matt Harbison <matt_harbison@yahoo.com>
parents: 41964
diff changeset
248
42377
0546ead39a7e manifest: avoid corruption by dropping removed files with pure (issue5801)
Matt Harbison <matt_harbison@yahoo.com>
parents: 42376
diff changeset
249 $ hg verify
42376
89c0c8edc9d4 tests: demonstrate broken manifest generation with the pure module
Matt Harbison <matt_harbison@yahoo.com>
parents: 41964
diff changeset
250 checking changesets
89c0c8edc9d4 tests: demonstrate broken manifest generation with the pure module
Matt Harbison <matt_harbison@yahoo.com>
parents: 41964
diff changeset
251 checking manifests
89c0c8edc9d4 tests: demonstrate broken manifest generation with the pure module
Matt Harbison <matt_harbison@yahoo.com>
parents: 41964
diff changeset
252 crosschecking files in changesets and manifests
89c0c8edc9d4 tests: demonstrate broken manifest generation with the pure module
Matt Harbison <matt_harbison@yahoo.com>
parents: 41964
diff changeset
253 checking files
89c0c8edc9d4 tests: demonstrate broken manifest generation with the pure module
Matt Harbison <matt_harbison@yahoo.com>
parents: 41964
diff changeset
254 checked 2 changesets with 8 changes to 8 files
89c0c8edc9d4 tests: demonstrate broken manifest generation with the pure module
Matt Harbison <matt_harbison@yahoo.com>
parents: 41964
diff changeset
255
89c0c8edc9d4 tests: demonstrate broken manifest generation with the pure module
Matt Harbison <matt_harbison@yahoo.com>
parents: 41964
diff changeset
256 $ hg rollback -q --config ui.rollback=True
89c0c8edc9d4 tests: demonstrate broken manifest generation with the pure module
Matt Harbison <matt_harbison@yahoo.com>
parents: 41964
diff changeset
257 $ hg rm b.txt d.txt
89c0c8edc9d4 tests: demonstrate broken manifest generation with the pure module
Matt Harbison <matt_harbison@yahoo.com>
parents: 41964
diff changeset
258 $ echo bb > bb.txt
89c0c8edc9d4 tests: demonstrate broken manifest generation with the pure module
Matt Harbison <matt_harbison@yahoo.com>
parents: 41964
diff changeset
259
42377
0546ead39a7e manifest: avoid corruption by dropping removed files with pure (issue5801)
Matt Harbison <matt_harbison@yahoo.com>
parents: 42376
diff changeset
260 A mix of adds and removes should remove all dropped entries.
42376
89c0c8edc9d4 tests: demonstrate broken manifest generation with the pure module
Matt Harbison <matt_harbison@yahoo.com>
parents: 41964
diff changeset
261
89c0c8edc9d4 tests: demonstrate broken manifest generation with the pure module
Matt Harbison <matt_harbison@yahoo.com>
parents: 41964
diff changeset
262 $ hg ci -Aqm 'remove b and d; add bb'
89c0c8edc9d4 tests: demonstrate broken manifest generation with the pure module
Matt Harbison <matt_harbison@yahoo.com>
parents: 41964
diff changeset
263
89c0c8edc9d4 tests: demonstrate broken manifest generation with the pure module
Matt Harbison <matt_harbison@yahoo.com>
parents: 41964
diff changeset
264 $ hg debugdata -m 1
89c0c8edc9d4 tests: demonstrate broken manifest generation with the pure module
Matt Harbison <matt_harbison@yahoo.com>
parents: 41964
diff changeset
265 a.txt\x00b789fdd96dc2f3bd229c1dd8eedf0fc60e2b68e3 (esc)
89c0c8edc9d4 tests: demonstrate broken manifest generation with the pure module
Matt Harbison <matt_harbison@yahoo.com>
parents: 41964
diff changeset
266 aa.txt\x00a4bdc161c8fbb523c9a60409603f8710ff49a571 (esc)
89c0c8edc9d4 tests: demonstrate broken manifest generation with the pure module
Matt Harbison <matt_harbison@yahoo.com>
parents: 41964
diff changeset
267 bb.txt\x0004c6faf8a9fdd848a5304dfc1704749a374dff44 (esc)
89c0c8edc9d4 tests: demonstrate broken manifest generation with the pure module
Matt Harbison <matt_harbison@yahoo.com>
parents: 41964
diff changeset
268 c.txt\x00149da44f2a4e14f488b7bd4157945a9837408c00 (esc)
89c0c8edc9d4 tests: demonstrate broken manifest generation with the pure module
Matt Harbison <matt_harbison@yahoo.com>
parents: 41964
diff changeset
269 cc.txt\x00149da44f2a4e14f488b7bd4157945a9837408c00 (esc)
89c0c8edc9d4 tests: demonstrate broken manifest generation with the pure module
Matt Harbison <matt_harbison@yahoo.com>
parents: 41964
diff changeset
270 ccc.txt\x00149da44f2a4e14f488b7bd4157945a9837408c00 (esc)
89c0c8edc9d4 tests: demonstrate broken manifest generation with the pure module
Matt Harbison <matt_harbison@yahoo.com>
parents: 41964
diff changeset
271 e.txt\x00149da44f2a4e14f488b7bd4157945a9837408c00 (esc)
89c0c8edc9d4 tests: demonstrate broken manifest generation with the pure module
Matt Harbison <matt_harbison@yahoo.com>
parents: 41964
diff changeset
272
42377
0546ead39a7e manifest: avoid corruption by dropping removed files with pure (issue5801)
Matt Harbison <matt_harbison@yahoo.com>
parents: 42376
diff changeset
273 $ hg verify
42376
89c0c8edc9d4 tests: demonstrate broken manifest generation with the pure module
Matt Harbison <matt_harbison@yahoo.com>
parents: 41964
diff changeset
274 checking changesets
89c0c8edc9d4 tests: demonstrate broken manifest generation with the pure module
Matt Harbison <matt_harbison@yahoo.com>
parents: 41964
diff changeset
275 checking manifests
89c0c8edc9d4 tests: demonstrate broken manifest generation with the pure module
Matt Harbison <matt_harbison@yahoo.com>
parents: 41964
diff changeset
276 crosschecking files in changesets and manifests
89c0c8edc9d4 tests: demonstrate broken manifest generation with the pure module
Matt Harbison <matt_harbison@yahoo.com>
parents: 41964
diff changeset
277 checking files
89c0c8edc9d4 tests: demonstrate broken manifest generation with the pure module
Matt Harbison <matt_harbison@yahoo.com>
parents: 41964
diff changeset
278 checked 2 changesets with 9 changes to 9 files