annotate tests/test-obsolete-tag-cache.t @ 27246:b288fb2724bf

wireproto: config options to disable bundle1 bundle2 is the new and preferred wire protocol format. For various reasons, server operators may wish to force clients to use it. One reason is performance. If a repository is stored in generaldelta, the server must recompute deltas in order to produce the bundle1 changegroup. This can be extremely expensive. For mozilla-central, bundle generation typically takes a few minutes. However, generating a non-gd bundle from a generaldelta encoded mozilla-central requires over 30 minutes of CPU! If a large repository like mozilla-central were encoded in generaldelta and non-gd clients connected, they could easily flood a server by cloning. This patch gives server operators config knobs to control whether bundle1 is allowed for push and pull operations. The default is to support legacy bundle1 clients, making this patch backwards compatible.
author Gregory Szorc <gregory.szorc@gmail.com>
date Fri, 04 Dec 2015 15:12:11 -0800
parents e8f9dffca36f
children ab6468270b83
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
26185
e8f9dffca36f blackbox: add pid to output
Durham Goode <durham@fb.com>
parents: 24763
diff changeset
71 1970/01/01 00:00:00 bob (*)> tags (glob)
e8f9dffca36f blackbox: add pid to output
Durham Goode <durham@fb.com>
parents: 24763
diff changeset
72 1970/01/01 00:00:00 bob (*)> 2/2 cache hits/lookups in * seconds (glob)
e8f9dffca36f blackbox: add pid to output
Durham Goode <durham@fb.com>
parents: 24763
diff changeset
73 1970/01/01 00:00:00 bob (*)> writing .hg/cache/tags2-visible with 2 tags (glob)
e8f9dffca36f blackbox: add pid to output
Durham Goode <durham@fb.com>
parents: 24763
diff changeset
74 1970/01/01 00:00:00 bob (*)> tags exited 0 after * seconds (glob)
24760
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
26185
e8f9dffca36f blackbox: add pid to output
Durham Goode <durham@fb.com>
parents: 24763
diff changeset
90 1970/01/01 00:00:00 bob (*)> tags (glob)
e8f9dffca36f blackbox: add pid to output
Durham Goode <durham@fb.com>
parents: 24763
diff changeset
91 1970/01/01 00:00:00 bob (*)> 1/1 cache hits/lookups in * seconds (glob)
e8f9dffca36f blackbox: add pid to output
Durham Goode <durham@fb.com>
parents: 24763
diff changeset
92 1970/01/01 00:00:00 bob (*)> writing .hg/cache/tags2-visible with 1 tags (glob)
e8f9dffca36f blackbox: add pid to output
Durham Goode <durham@fb.com>
parents: 24763
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
26185
e8f9dffca36f blackbox: add pid to output
Durham Goode <durham@fb.com>
parents: 24763
diff changeset
110 1970/01/01 00:00:00 bob (*)> --hidden tags (glob)
e8f9dffca36f blackbox: add pid to output
Durham Goode <durham@fb.com>
parents: 24763
diff changeset
111 1970/01/01 00:00:00 bob (*)> 2/2 cache hits/lookups in * seconds (glob)
e8f9dffca36f blackbox: add pid to output
Durham Goode <durham@fb.com>
parents: 24763
diff changeset
112 1970/01/01 00:00:00 bob (*)> writing .hg/cache/tags2 with 3 tags (glob)
e8f9dffca36f blackbox: add pid to output
Durham Goode <durham@fb.com>
parents: 24763
diff changeset
113 1970/01/01 00:00:00 bob (*)> --hidden tags exited 0 after * seconds (glob)