comparison mercurial/help/internals/requirements.txt @ 29747:aba2bb2a6d0f

help: don't try to render a section on sub-topics This patch subtly changes the behavior of the parsing of "X.Y" values to not set the "section" variable when rendering a known sub-topic. Previously, "section" would be the same as the sub-topic name. This required the sub-topic RST to have a section named the same as the sub-topic name. When I made this change, the descriptions from help.internalstable started being rendered in command line output. This didn't look correct to me, as it didn't match the formatting of main help pages. I corrected this by moving the top section to help.internalstable and changing the section levels of all the "internals" topics. The end result is that "internals" topics now match the rendering of main topics on both the CLI and HTML. And, "internals" topics no longer require a main section matching the name of the topic.
author Gregory Szorc <gregory.szorc@gmail.com>
date Sat, 06 Aug 2016 17:04:22 -0700
parents 045fe7042510
children 23080c03a604
comparison
equal deleted inserted replaced
29746:3dbc95f3eb31 29747:aba2bb2a6d0f
1 Requirements
2 ============
3 1
4 Repositories contain a file (``.hg/requires``) containing a list of 2 Repositories contain a file (``.hg/requires``) containing a list of
5 features/capabilities that are *required* for clients to interface 3 features/capabilities that are *required* for clients to interface
6 with the repository. This file has been present in Mercurial since 4 with the repository. This file has been present in Mercurial since
7 version 0.9.2 (released December 2006). 5 version 0.9.2 (released December 2006).
17 15
18 The following sections describe the requirements defined by the 16 The following sections describe the requirements defined by the
19 Mercurial core distribution. 17 Mercurial core distribution.
20 18
21 revlogv1 19 revlogv1
22 -------- 20 ========
23 21
24 When present, revlogs are version 1 (RevlogNG). RevlogNG was introduced 22 When present, revlogs are version 1 (RevlogNG). RevlogNG was introduced
25 in 2006. The ``revlogv1`` requirement has been enabled by default 23 in 2006. The ``revlogv1`` requirement has been enabled by default
26 since the ``requires`` file was introduced in Mercurial 0.9.2. 24 since the ``requires`` file was introduced in Mercurial 0.9.2.
27 25
28 If this requirement is not present, version 0 revlogs are assumed. 26 If this requirement is not present, version 0 revlogs are assumed.
29 27
30 store 28 store
31 ----- 29 =====
32 30
33 The *store* repository layout should be used. 31 The *store* repository layout should be used.
34 32
35 This requirement has been enabled by default since the ``requires`` file 33 This requirement has been enabled by default since the ``requires`` file
36 was introduced in Mercurial 0.9.2. 34 was introduced in Mercurial 0.9.2.
37 35
38 fncache 36 fncache
39 ------- 37 =======
40 38
41 The *fncache* repository layout should be used. 39 The *fncache* repository layout should be used.
42 40
43 The *fncache* layout hash encodes filenames with long paths and 41 The *fncache* layout hash encodes filenames with long paths and
44 encodes reserved filenames. 42 encodes reserved filenames.
46 This requirement is enabled by default when the *store* requirement is 44 This requirement is enabled by default when the *store* requirement is
47 enabled (which is the default behavior). It was introduced in Mercurial 45 enabled (which is the default behavior). It was introduced in Mercurial
48 1.1 (released December 2008). 46 1.1 (released December 2008).
49 47
50 shared 48 shared
51 ------ 49 ======
52 50
53 Denotes that the store for a repository is shared from another location 51 Denotes that the store for a repository is shared from another location
54 (defined by the ``.hg/sharedpath`` file). 52 (defined by the ``.hg/sharedpath`` file).
55 53
56 This requirement is set when a repository is created via :hg:`share`. 54 This requirement is set when a repository is created via :hg:`share`.
57 55
58 The requirement was added in Mercurial 1.3 (released July 2009). 56 The requirement was added in Mercurial 1.3 (released July 2009).
59 57
60 dotencode 58 dotencode
61 --------- 59 =========
62 60
63 The *dotencode* repository layout should be used. 61 The *dotencode* repository layout should be used.
64 62
65 The *dotencode* layout encodes the first period or space in filenames 63 The *dotencode* layout encodes the first period or space in filenames
66 to prevent issues on OS X and Windows. 64 to prevent issues on OS X and Windows.
68 This requirement is enabled by default when the *store* requirement 66 This requirement is enabled by default when the *store* requirement
69 is enabled (which is the default behavior). It was introduced in 67 is enabled (which is the default behavior). It was introduced in
70 Mercurial 1.7 (released November 2010). 68 Mercurial 1.7 (released November 2010).
71 69
72 parentdelta 70 parentdelta
73 ----------- 71 ===========
74 72
75 Denotes a revlog delta encoding format that was experimental and 73 Denotes a revlog delta encoding format that was experimental and
76 replaced by *generaldelta*. It should not be seen in the wild because 74 replaced by *generaldelta*. It should not be seen in the wild because
77 it was never enabled by default. 75 it was never enabled by default.
78 76
79 This requirement was added in Mercurial 1.7 and removed in Mercurial 77 This requirement was added in Mercurial 1.7 and removed in Mercurial
80 1.9. 78 1.9.
81 79
82 generaldelta 80 generaldelta
83 ------------ 81 ============
84 82
85 Revlogs should be created with the *generaldelta* flag enabled. The 83 Revlogs should be created with the *generaldelta* flag enabled. The
86 generaldelta flag will cause deltas to be encoded against a parent 84 generaldelta flag will cause deltas to be encoded against a parent
87 revision instead of the previous revision in the revlog. 85 revision instead of the previous revision in the revlog.
88 86
89 Support for this requirement was added in Mercurial 1.9 (released 87 Support for this requirement was added in Mercurial 1.9 (released
90 July 2011). The requirement was disabled on new repositories by 88 July 2011). The requirement was disabled on new repositories by
91 default until Mercurial 3.7 (released February 2016). 89 default until Mercurial 3.7 (released February 2016).
92 90
93 manifestv2 91 manifestv2
94 ---------- 92 ==========
95 93
96 Denotes that version 2 of manifests are being used. 94 Denotes that version 2 of manifests are being used.
97 95
98 Support for this requirement was added in Mercurial 3.4 (released 96 Support for this requirement was added in Mercurial 3.4 (released
99 May 2015). The requirement is currently experimental and is disabled 97 May 2015). The requirement is currently experimental and is disabled
100 by default. 98 by default.
101 99
102 treemanifest 100 treemanifest
103 ------------ 101 ============
104 102
105 Denotes that tree manifests are being used. Tree manifests are 103 Denotes that tree manifests are being used. Tree manifests are
106 one manifest per directory (as opposed to a single flat manifest). 104 one manifest per directory (as opposed to a single flat manifest).
107 105
108 Support for this requirement was added in Mercurial 3.4 (released 106 Support for this requirement was added in Mercurial 3.4 (released