source: general/prog/mercurial.xml@ 5ff8c3a

11.3 12.0 12.1 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk xry111/llvm18 xry111/soup3 xry111/xf86-video-removal
Last change on this file since 5ff8c3a was b984aaa1, checked in by Bruce Dubbs <bdubbs@…>, 20 months ago

More tags

  • Property mode set to 100644
File size: 9.8 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY mercurial-download-http "https://www.mercurial-scm.org/release/mercurial-&mercurial-version;.tar.gz">
8 <!ENTITY mercurial-download-ftp " ">
9 <!ENTITY mercurial-md5sum "ff21d19b55da86d8e95c44df1b3be97a">
10 <!ENTITY mercurial-size "7.7 MB">
11 <!ENTITY mercurial-buildsize "76 MB (with docs, add 2.0 GB for tests)">
12 <!ENTITY mercurial-time "0.4 SBU (with docs, add 26 SBU for tests using -j4)">
13]>
14
15<sect1 id="mercurial" xreflabel="Mercurial-&mercurial-version;">
16 <?dbhtml filename="mercurial.html"?>
17
18 <sect1info>
19 <date>$Date$</date>
20 </sect1info>
21
22 <title>Mercurial-&mercurial-version;</title>
23
24 <indexterm zone="mercurial">
25 <primary sortas="a-mercurial">mercurial</primary>
26 </indexterm>
27
28 <sect2 role="package">
29 <title>Introduction to Mercurial</title>
30
31 <para>
32 <application>Mercurial</application> is a distributed source control
33 management tool similar to <application>Git</application> and
34 <application>Bazaar</application>. <application>Mercurial</application>
35 is written in <application>Python</application> and is used by projects
36 such as Mozilla for Firefox and Thunderbird.
37 </para>
38
39 &lfs112_checked;
40
41 <bridgehead renderas="sect3">Package Information</bridgehead>
42 <itemizedlist spacing="compact">
43 <listitem>
44 <para>
45 Download (HTTP): <ulink url="&mercurial-download-http;"/>
46 </para>
47 </listitem>
48 <listitem>
49 <para>
50 Download (FTP): <ulink url="&mercurial-download-ftp;"/>
51 </para>
52 </listitem>
53 <listitem>
54 <para>
55 Download MD5 sum: &mercurial-md5sum;
56 </para>
57 </listitem>
58 <listitem>
59 <para>
60 Download size: &mercurial-size;
61 </para>
62 </listitem>
63 <listitem>
64 <para>
65 Estimated disk space required: &mercurial-buildsize;
66 </para>
67 </listitem>
68 <listitem>
69 <para>
70 Estimated build time: &mercurial-time;
71 </para>
72 </listitem>
73 </itemizedlist>
74
75 <bridgehead renderas="sect3">Mercurial Dependencies</bridgehead>
76
77 <bridgehead renderas="sect4">Optional</bridgehead>
78 <para role="optional">
79 <xref linkend="docutils"/>
80 (required to build the documentation),
81 <xref linkend="git"/>,
82 <xref linkend="gpgme"/> (with Python bindings),
83 <xref role="runtime" linkend="openssh"/>
84 (runtime, to access ssh://... repositories),
85 <xref linkend="pygments"/>,
86 <xref linkend="rust"/> (see <filename>rust/README.rst</filename> and <filename>rust/rhg/README.md</filename>),
87 <xref linkend="subversion"/> (with Python bindings),
88 <ulink url="https://launchpad.net/bzr">Bazaar</ulink>,
89 <ulink url="http://www.nongnu.org/cvs/">CVS</ulink>,
90 <ulink url="https://pypi.python.org/pypi/pyflakes">pyflakes</ulink>,
91 <ulink url="https://www.pyopenssl.org/en/stable/">pyOpenSSL</ulink>, and
92 <ulink url="https://github.com/google/re2/">re2</ulink>
93
94 </para>
95
96 <para condition="html" role="usernotes">User Notes:
97 <ulink url="&blfs-wiki;/mercurial"/></para>
98
99 </sect2>
100
101 <sect2 role="installation">
102 <title>Installation of Mercurial</title>
103 <!-- Rust port is now part of the standard tests -->
104
105 <para>
106 Build <application>Mercurial</application> by issuing the following
107 command:
108 </para>
109
110<screen><userinput>make build</userinput></screen>
111
112 <para>
113 To build the documentation (requires <xref linkend="docutils"/>), issue:
114 </para>
115
116<screen remap="doc"><userinput>make doc</userinput></screen>
117
118 <para>
119 To run the test suite, issue (8 tests are known to fail):
120 </para>
121<screen remap="test"><userinput>TESTFLAGS="-j<replaceable>&lt;N&gt;</replaceable> --tmpdir tmp --blacklist blacklists/fsmonitor --blacklist blacklists/linux-vfat" make check</userinput></screen>
122<!-- The blacklists have to be checked every release of Mercurial, do a listing
123 of tests/blacklists, but do not include the README. -->
124
125 <para>
126 where <replaceable>&lt;N&gt;</replaceable> is an integer between one
127 and the number of ( processor X threads ), inclusive. Five tests will
128 fail because some error messages have changed in Python, or
129 some deprecation warnings are printed, that were not present when the
130 test was designed. In order to
131 investigate any apparently failing tests, you may use the
132 <command>run-tests.py</command> script. To see the almost forty switches,
133 some of them very useful, issue <command>tests/run-tests.py
134 --help</command>. Running the following commands, you will execute only
135 the tests that failed before:
136 </para>
137
138<screen remap="test"><userinput>pushd tests &amp;&amp;
139 rm -rf tmp &amp;&amp;
140 ./run-tests.py --tmpdir tmp test-gpg.t
141popd</userinput></screen>
142
143 <para>
144 Normally, the previous failures will be reproducible. However, if
145 you add the switch <option>--debug</option> before
146 <option>--tmpdir</option>, and run the tests again, some failures may
147 disappear, which is a problem with the test suite. If this happens,
148 there will be no more of these failures even if you do not pass the
149 --debug switch again.
150 </para>
151
152 <para>
153 An interesting switch is <option>--time</option>, which will generate a
154 table of all the executed tests and their respective start, end, user,
155 system and real times once the tests are complete. Note that these
156 switches may be used with <command>make check</command> by including
157 them in the <envar>TESTFLAGS</envar> environment variable.
158 </para>
159
160 <para>
161 Install <application>Mercurial</application> by running the following
162 command (as <systemitem class="username">root</systemitem>):
163 </para>
164
165<screen role="root"><userinput>make PREFIX=/usr install-bin</userinput></screen>
166
167 <para>
168 If you built the documentation, install it by running the following
169 command (as <systemitem class="username">root</systemitem>):
170 </para>
171
172<screen role="root"
173 remap="doc"><userinput>make PREFIX=/usr install-doc</userinput></screen>
174
175 <para>
176 After installation, two very quick and simple tests should run
177 correctly. The first one needs some configuration:
178 </para>
179
180<screen><userinput>cat &gt;&gt; ~/.hgrc &lt;&lt; "EOF"
181<literal>[ui]
182username = <replaceable>&lt;user_name&gt; &lt;user@mail&gt;</replaceable></literal>
183EOF</userinput></screen>
184
185 <para>
186 where you must replace &lt;user_name&gt; and &lt;your@mail&gt; (mail
187 is optional and can be omitted). With the user identity defined, run
188 <command>hg debuginstall</command> and several lines will be displayed,
189 the last one reading "no problems detected". Another quick and simple
190 test is just <command>hg</command>, which should output basic commands
191 that can be used with <command>hg</command>.
192 </para>
193
194 </sect2>
195
196<!--
197 <sect2 role="commands">
198 <title>Command Explanations</title>
199
200 <para>
201 <command>2to3 -w doc/hgmanpage.py</command>: Since <application>
202 Python 3</application> is used with docutils, one file needs to be
203 converted in order to be compatible.
204 </para>
205
206 </sect2>
207-->
208
209 <sect2 role="configuration">
210 <title>Configuring Mercurial</title>
211
212 <sect3 id="mercurial-config">
213 <title>Config Files</title>
214
215 <para>
216 <filename>/etc/mercurial/hgrc</filename> and
217 <filename>~/.hgrc</filename>
218 </para>
219
220 <indexterm zone="mercurial mercurial-config">
221 <primary sortas="e-etc-mercurial-hgrc">/etc/mercurial/hgrc</primary>
222 </indexterm>
223
224 <indexterm zone="mercurial mercurial-config">
225 <primary sortas="e-AA.hgrc">~/.hgrc</primary>
226 </indexterm>
227
228 <para>
229 The great majority of extensions are disabled by default. Run
230 <command>hg help extensions</command> if you need to enable any, e.g.
231 when investigating test failures. This will output a list of enabled
232 and disabled extensions, as well as more information such as how to
233 enable or disable extensions using configuration files.
234 </para>
235
236 <para>
237 If you have installed <xref linkend="make-ca"/> and want
238 <application>Mercurial</application> to use the certificates,
239 as the <systemitem class="username">root</systemitem> user, issue:
240 </para>
241
242<screen role="root"><userinput>install -v -d -m755 /etc/mercurial &amp;&amp;
243cat &gt; /etc/mercurial/hgrc &lt;&lt; "EOF"
244<literal>[web]
245cacerts = /etc/pki/tls/certs/ca-bundle.crt</literal>
246EOF</userinput></screen>
247
248 </sect3>
249
250 </sect2>
251
252 <sect2 role="content">
253 <title>Contents</title>
254
255 <segmentedlist>
256 <segtitle>Installed Programs</segtitle>
257 <segtitle>Installed Libraries</segtitle>
258 <segtitle>Installed Directories</segtitle>
259
260 <seglistitem>
261 <seg>
262 hg
263 </seg>
264 <seg>
265 several internal modules under
266 /usr/lib/python&python3-majorver;/site-packages/mercurial
267 </seg>
268 <seg>
269 /etc/mercurial and
270 /usr/lib/python&python3-majorver;/site-packages/{hgdemandimport,hgext,hgext3rd,mercurial}
271 </seg>
272 </seglistitem>
273 </segmentedlist>
274
275 <variablelist>
276 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
277 <?dbfo list-presentation="list"?>
278 <?dbhtml list-presentation="table"?>
279
280 <varlistentry id="hg">
281 <term><command>hg</command></term>
282 <listitem>
283 <para>
284 is the mercurial version control system
285 </para>
286 <indexterm zone="mercurial hg">
287 <primary sortas="b-hg">hg</primary>
288 </indexterm>
289 </listitem>
290 </varlistentry>
291
292 </variablelist>
293
294 </sect2>
295
296</sect1>
Note: See TracBrowser for help on using the repository browser.