Mercurial > hg
annotate tests/test-obsolete-tag-cache.t @ 25591:f1d46075b13a
verify: check the subrepository references in .hgsubstate
While hopefully atypical, there are reasons that a subrepository revision can be
lost that aren't covered by corruption of the .hgsubstate revlog. Such things
can happen when a subrepo is amended, stripped or simply isn't pulled from
upstream because the parent repo revision wasn't updated yet. There's no way to
know if it is an error, but this will find potential problems sooner than when
some random revision is updated.
Until recently, convert made no attempt at rewriting the .hgsubstate file. The
impetuous for this is to verify the conversion of some repositories, and this is
orders of magnitude faster than a bash script from 0..tip that does an
'hg update -C $rev'. But it is equally useful to determine if everything has
been pulled down before taking a thumb drive on the go.
It feels somewhat wrong to leave this out of verifymod (mostly because the file
is already read in there, and the final summary is printed before the subrepos
are checked). But verifymod looks very low level, so importing subrepo stuff
there seems more wrong.
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Tue, 16 Jun 2015 16:15:15 -0400 |
parents | a698e088ad29 |
children | e8f9dffca36f |
rev | line source |
---|---|
24144
a35b59d4df33
tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1 $ cat >> $HGRCPATH << EOF |
a35b59d4df33
tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
2 > [extensions] |
24760
410f3856196f
tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24737
diff
changeset
|
3 > blackbox= |
24144
a35b59d4df33
tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
4 > rebase= |
24760
410f3856196f
tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24737
diff
changeset
|
5 > mock=$TESTDIR/mockblackbox.py |
24144
a35b59d4df33
tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
6 > |
a35b59d4df33
tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
7 > [experimental] |
a35b59d4df33
tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
8 > evolution = createmarkers |
a35b59d4df33
tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
9 > EOF |
a35b59d4df33
tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
10 |
a35b59d4df33
tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
11 Create a repo with some tags |
a35b59d4df33
tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
12 |
a35b59d4df33
tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
13 $ hg init repo |
a35b59d4df33
tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
14 $ cd repo |
a35b59d4df33
tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
15 $ echo initial > foo |
a35b59d4df33
tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
16 $ hg -q commit -A -m initial |
a35b59d4df33
tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
17 $ hg tag -m 'test tag' test1 |
a35b59d4df33
tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
18 $ echo first > first |
a35b59d4df33
tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
19 $ hg -q commit -A -m first |
a35b59d4df33
tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
20 $ hg tag -m 'test2 tag' test2 |
a35b59d4df33
tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
21 $ hg -q up -r 0 |
a35b59d4df33
tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
22 $ echo newhead > newhead |
a35b59d4df33
tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
23 $ hg commit -A -m newhead |
a35b59d4df33
tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
24 adding newhead |
a35b59d4df33
tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
25 created new head |
24760
410f3856196f
tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24737
diff
changeset
|
26 $ hg tag -m 'test head 2 tag' head2 |
24144
a35b59d4df33
tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
27 |
a35b59d4df33
tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
28 $ hg log -G -T '{rev}:{node|short} {tags} {desc}\n' |
24760
410f3856196f
tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24737
diff
changeset
|
29 @ 5:2942a772f72a tip test head 2 tag |
410f3856196f
tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24737
diff
changeset
|
30 | |
410f3856196f
tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24737
diff
changeset
|
31 o 4:042eb6bfcc49 head2 newhead |
24144
a35b59d4df33
tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
32 | |
a35b59d4df33
tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
33 | o 3:c3cb30f2d2cd test2 tag |
a35b59d4df33
tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
34 | | |
a35b59d4df33
tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
35 | o 2:d75775ffbc6b test2 first |
a35b59d4df33
tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
36 | | |
a35b59d4df33
tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
37 | o 1:5f97d42da03f test tag |
a35b59d4df33
tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
38 |/ |
a35b59d4df33
tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
39 o 0:55482a6fb4b1 test1 initial |
a35b59d4df33
tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
40 |
a35b59d4df33
tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
41 |
24760
410f3856196f
tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24737
diff
changeset
|
42 Trigger tags cache population by doing something that accesses tags info |
410f3856196f
tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24737
diff
changeset
|
43 |
410f3856196f
tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24737
diff
changeset
|
44 $ hg tags |
410f3856196f
tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24737
diff
changeset
|
45 tip 5:2942a772f72a |
410f3856196f
tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24737
diff
changeset
|
46 head2 4:042eb6bfcc49 |
410f3856196f
tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24737
diff
changeset
|
47 test2 2:d75775ffbc6b |
410f3856196f
tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24737
diff
changeset
|
48 test1 0:55482a6fb4b1 |
410f3856196f
tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24737
diff
changeset
|
49 |
24762
1062663808ce
tags: write a separate tags cache file for unfiltered repos
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24760
diff
changeset
|
50 $ cat .hg/cache/tags2-visible |
24760
410f3856196f
tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24737
diff
changeset
|
51 5 2942a772f72a444bef4bef13874d515f50fa27b6 |
410f3856196f
tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24737
diff
changeset
|
52 042eb6bfcc4909bad84a1cbf6eb1ddf0ab587d41 head2 |
24144
a35b59d4df33
tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
53 55482a6fb4b1881fa8f746fd52cf6f096bb21c89 test1 |
a35b59d4df33
tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
54 d75775ffbc6bca1794d300f5571272879bd280da test2 |
a35b59d4df33
tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
55 |
24760
410f3856196f
tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24737
diff
changeset
|
56 Hiding a non-tip changeset should change filtered hash and cause tags recompute |
410f3856196f
tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24737
diff
changeset
|
57 |
410f3856196f
tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24737
diff
changeset
|
58 $ hg debugobsolete -d '0 0' c3cb30f2d2cd0aae008cc91a07876e3c5131fd22 -u dummyuser |
24144
a35b59d4df33
tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
59 |
24760
410f3856196f
tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24737
diff
changeset
|
60 $ hg tags |
410f3856196f
tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24737
diff
changeset
|
61 tip 5:2942a772f72a |
410f3856196f
tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24737
diff
changeset
|
62 head2 4:042eb6bfcc49 |
410f3856196f
tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24737
diff
changeset
|
63 test1 0:55482a6fb4b1 |
24144
a35b59d4df33
tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
64 |
24762
1062663808ce
tags: write a separate tags cache file for unfiltered repos
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24760
diff
changeset
|
65 $ cat .hg/cache/tags2-visible |
24760
410f3856196f
tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24737
diff
changeset
|
66 5 2942a772f72a444bef4bef13874d515f50fa27b6 f34fbc9a9769ba9eff5aff3d008a6b49f85c08b1 |
410f3856196f
tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24737
diff
changeset
|
67 042eb6bfcc4909bad84a1cbf6eb1ddf0ab587d41 head2 |
24144
a35b59d4df33
tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
68 55482a6fb4b1881fa8f746fd52cf6f096bb21c89 test1 |
24760
410f3856196f
tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24737
diff
changeset
|
69 |
410f3856196f
tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24737
diff
changeset
|
70 $ hg blackbox -l 4 |
410f3856196f
tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24737
diff
changeset
|
71 1970/01/01 00:00:00 bob> tags |
410f3856196f
tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24737
diff
changeset
|
72 1970/01/01 00:00:00 bob> 2/2 cache hits/lookups in * seconds (glob) |
24763
a698e088ad29
tags: explicitly log which tags cache file is being written
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24762
diff
changeset
|
73 1970/01/01 00:00:00 bob> writing .hg/cache/tags2-visible with 2 tags |
24760
410f3856196f
tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24737
diff
changeset
|
74 1970/01/01 00:00:00 bob> tags exited 0 after * seconds (glob) |
410f3856196f
tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24737
diff
changeset
|
75 |
410f3856196f
tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24737
diff
changeset
|
76 Hiding another changeset should cause the filtered hash to change |
410f3856196f
tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24737
diff
changeset
|
77 |
410f3856196f
tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24737
diff
changeset
|
78 $ hg debugobsolete -d '0 0' d75775ffbc6bca1794d300f5571272879bd280da -u dummyuser |
410f3856196f
tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24737
diff
changeset
|
79 $ hg debugobsolete -d '0 0' 5f97d42da03fd56f3b228b03dfe48af5c0adf75b -u dummyuser |
24144
a35b59d4df33
tests: add test showing tags cache drops filtered heads (issue4550)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
80 |
24760
410f3856196f
tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24737
diff
changeset
|
81 $ hg tags |
410f3856196f
tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24737
diff
changeset
|
82 tip 5:2942a772f72a |
410f3856196f
tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24737
diff
changeset
|
83 head2 4:042eb6bfcc49 |
410f3856196f
tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24737
diff
changeset
|
84 |
24762
1062663808ce
tags: write a separate tags cache file for unfiltered repos
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24760
diff
changeset
|
85 $ cat .hg/cache/tags2-visible |
24760
410f3856196f
tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24737
diff
changeset
|
86 5 2942a772f72a444bef4bef13874d515f50fa27b6 2fce1eec33263d08a4d04293960fc73a555230e4 |
410f3856196f
tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24737
diff
changeset
|
87 042eb6bfcc4909bad84a1cbf6eb1ddf0ab587d41 head2 |
410f3856196f
tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24737
diff
changeset
|
88 |
410f3856196f
tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24737
diff
changeset
|
89 $ hg blackbox -l 4 |
410f3856196f
tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24737
diff
changeset
|
90 1970/01/01 00:00:00 bob> tags |
410f3856196f
tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24737
diff
changeset
|
91 1970/01/01 00:00:00 bob> 1/1 cache hits/lookups in * seconds (glob) |
24763
a698e088ad29
tags: explicitly log which tags cache file is being written
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24762
diff
changeset
|
92 1970/01/01 00:00:00 bob> writing .hg/cache/tags2-visible with 1 tags |
24760
410f3856196f
tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24737
diff
changeset
|
93 1970/01/01 00:00:00 bob> tags exited 0 after * seconds (glob) |
24762
1062663808ce
tags: write a separate tags cache file for unfiltered repos
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24760
diff
changeset
|
94 |
1062663808ce
tags: write a separate tags cache file for unfiltered repos
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24760
diff
changeset
|
95 Resolving tags on an unfiltered repo writes a separate tags cache |
1062663808ce
tags: write a separate tags cache file for unfiltered repos
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24760
diff
changeset
|
96 |
1062663808ce
tags: write a separate tags cache file for unfiltered repos
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24760
diff
changeset
|
97 $ hg --hidden tags |
1062663808ce
tags: write a separate tags cache file for unfiltered repos
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24760
diff
changeset
|
98 tip 5:2942a772f72a |
1062663808ce
tags: write a separate tags cache file for unfiltered repos
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24760
diff
changeset
|
99 head2 4:042eb6bfcc49 |
1062663808ce
tags: write a separate tags cache file for unfiltered repos
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24760
diff
changeset
|
100 test2 2:d75775ffbc6b |
1062663808ce
tags: write a separate tags cache file for unfiltered repos
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24760
diff
changeset
|
101 test1 0:55482a6fb4b1 |
1062663808ce
tags: write a separate tags cache file for unfiltered repos
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24760
diff
changeset
|
102 |
1062663808ce
tags: write a separate tags cache file for unfiltered repos
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24760
diff
changeset
|
103 $ cat .hg/cache/tags2 |
1062663808ce
tags: write a separate tags cache file for unfiltered repos
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24760
diff
changeset
|
104 5 2942a772f72a444bef4bef13874d515f50fa27b6 |
1062663808ce
tags: write a separate tags cache file for unfiltered repos
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24760
diff
changeset
|
105 042eb6bfcc4909bad84a1cbf6eb1ddf0ab587d41 head2 |
1062663808ce
tags: write a separate tags cache file for unfiltered repos
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24760
diff
changeset
|
106 55482a6fb4b1881fa8f746fd52cf6f096bb21c89 test1 |
1062663808ce
tags: write a separate tags cache file for unfiltered repos
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24760
diff
changeset
|
107 d75775ffbc6bca1794d300f5571272879bd280da test2 |
1062663808ce
tags: write a separate tags cache file for unfiltered repos
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24760
diff
changeset
|
108 |
1062663808ce
tags: write a separate tags cache file for unfiltered repos
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24760
diff
changeset
|
109 $ hg blackbox -l 4 |
1062663808ce
tags: write a separate tags cache file for unfiltered repos
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24760
diff
changeset
|
110 1970/01/01 00:00:00 bob> --hidden tags |
1062663808ce
tags: write a separate tags cache file for unfiltered repos
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24760
diff
changeset
|
111 1970/01/01 00:00:00 bob> 2/2 cache hits/lookups in * seconds (glob) |
24763
a698e088ad29
tags: explicitly log which tags cache file is being written
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24762
diff
changeset
|
112 1970/01/01 00:00:00 bob> writing .hg/cache/tags2 with 3 tags |
24762
1062663808ce
tags: write a separate tags cache file for unfiltered repos
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24760
diff
changeset
|
113 1970/01/01 00:00:00 bob> --hidden tags exited 0 after * seconds (glob) |