source: general/prog/mercurial.xml@ a887a08

12.0 12.1 kea ken/TL2024 ken/tuningfonts lazarus lxqt plabs/newcss python3.11 rahul/power-profiles-daemon renodr/vulkan-addition trunk xry111/llvm18 xry111/xf86-video-removal
Last change on this file since a887a08 was a887a08, checked in by Bruce Dubbs <bdubbs@…>, 12 months ago

Update to mercurial-6.4.5.

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