source: general/prog/mercurial.xml@ bfef7817

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

Update to mercurial-6.3.3.

  • Property mode set to 100644
File size: 10.4 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 "b42fe89d6b57fbd8accc1f17677bb75c">
10 <!ENTITY mercurial-size "7.7 MB">
11 <!ENTITY mercurial-buildsize "79 MB (with docs, add 2.0 GB for tests)">
12 <!ENTITY mercurial-time "0.3 SBU (with docs, add 17 SBU for tests using -j4)">
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 To run the test suite, issue:
117 </para>
118<screen remap="test"><userinput>TESTFLAGS="-j<replaceable>&lt;N&gt;</replaceable> --tmpdir tmp --blacklist blacklists/fsmonitor --blacklist blacklists/linux-vfat" make check</userinput></screen>
119<!-- The blacklists have to be checked every release of Mercurial, do a listing
120 of tests/blacklists, but do not include the README. -->
121
122 <para>
123 where <replaceable>&lt;N&gt;</replaceable> is an integer between one
124 and the number of ( processor X threads ), inclusive. Several tests
125 fail because some error messages have changed in Python, or
126 some deprecation warnings are printed, that were not present when the
127 test was designed.
128 <!--
129 # Ran 908 tests, 65 skipped, 4 failed. real 10m37.422s -bdubbs 6 Sep 22.
130 # Ran 881 tests, 102 skipped, 23 failed. -plabs 17 Nov 22.
131 # Ran 919 tests, 64 skipped, 23 failed. real 10m25.285s -bdubbs 10 Jan 23.
132 # Ran 893 tests,101 skipped, 9 failed. real 29m3.014ss -bdubbs 5 Mar 23.
133 -->
134 In order to
135 investigate any apparently failing tests, you may use the
136 <command>run-tests.py</command> script. To see the almost forty switches,
137 some of them very useful, issue <command>tests/run-tests.py
138 --help</command>. Running the following commands, you will execute only
139 the tests that failed before:
140 </para>
141
142<screen remap="test"><userinput>pushd tests &amp;&amp;
143 rm -rf tmp &amp;&amp;
144 ./run-tests.py --tmpdir tmp test-gpg.t
145popd</userinput></screen>
146
147 <para>
148 Normally, the previous failures will be reproducible. However, if
149 you add the switch <option>--debug</option> before
150 <option>--tmpdir</option>, and run the tests again, some failures may
151 disappear, which is a problem with the test suite. If this happens,
152 there will be no more of these failures even if you do not pass the
153 --debug switch again.
154 </para>
155
156 <para>
157 An interesting switch is <option>--time</option>, which will generate a
158 table of all the executed tests and their respective start, end, user,
159 system and real times once the tests are complete. Note that these
160 switches may be used with <command>make check</command> by including
161 them in the <envar>TESTFLAGS</envar> environment variable.
162 </para>
163
164 <para>
165 Install <application>Mercurial</application> by running the following
166 command (as <systemitem class="username">root</systemitem>):
167 </para>
168
169<screen role="root"><userinput>make PREFIX=/usr install-bin</userinput></screen>
170
171 <para>
172 If you built the documentation, install it by running the following
173 command (as <systemitem class="username">root</systemitem>):
174 </para>
175
176<screen role="root"
177 remap="doc"><userinput>make PREFIX=/usr install-doc</userinput></screen>
178
179 <para>
180 After installation, two very quick and simple tests should run
181 correctly. The first one needs some configuration:
182 </para>
183
184<screen><userinput>cat &gt;&gt; ~/.hgrc &lt;&lt; "EOF"
185<literal>[ui]
186username = <replaceable>&lt;user_name&gt; &lt;user@mail&gt;</replaceable></literal>
187EOF</userinput></screen>
188
189 <para>
190 where you must replace &lt;user_name&gt; and &lt;your@mail&gt; (mail
191 is optional and can be omitted). With the user identity defined, run
192 <command>hg debuginstall</command> and several lines will be displayed,
193 the last one reading "no problems detected". Another quick and simple
194 test is just <command>hg</command>, which should output basic commands
195 that can be used with <command>hg</command>.
196 </para>
197
198 </sect2>
199
200<!--
201 <sect2 role="commands">
202 <title>Command Explanations</title>
203
204 <para>
205 <command>2to3 -w doc/hgmanpage.py</command>: Since <application>
206 Python 3</application> is used with docutils, one file needs to be
207 converted in order to be compatible.
208 </para>
209
210 </sect2>
211-->
212
213 <sect2 role="configuration">
214 <title>Configuring Mercurial</title>
215
216 <sect3 id="mercurial-config">
217 <title>Config Files</title>
218
219 <para>
220 <filename>/etc/mercurial/hgrc</filename> and
221 <filename>~/.hgrc</filename>
222 </para>
223
224 <indexterm zone="mercurial mercurial-config">
225 <primary sortas="e-etc-mercurial-hgrc">/etc/mercurial/hgrc</primary>
226 </indexterm>
227
228 <indexterm zone="mercurial mercurial-config">
229 <primary sortas="e-AA.hgrc">~/.hgrc</primary>
230 </indexterm>
231
232 <para>
233 The great majority of extensions are disabled by default. Run
234 <command>hg help extensions</command> if you need to enable any, e.g.
235 when investigating test failures. This will output a list of enabled
236 and disabled extensions, as well as more information such as how to
237 enable or disable extensions using configuration files.
238 </para>
239
240 <para>
241 If you have installed <xref linkend="make-ca"/> and want
242 <application>Mercurial</application> to use the certificates,
243 as the <systemitem class="username">root</systemitem> user, issue:
244 </para>
245
246<screen role="root"><userinput>install -v -d -m755 /etc/mercurial &amp;&amp;
247cat &gt; /etc/mercurial/hgrc &lt;&lt; "EOF"
248<literal>[web]
249cacerts = /etc/pki/tls/certs/ca-bundle.crt</literal>
250EOF</userinput></screen>
251
252 </sect3>
253
254 </sect2>
255
256 <sect2 role="content">
257 <title>Contents</title>
258
259 <segmentedlist>
260 <segtitle>Installed Programs</segtitle>
261 <segtitle>Installed Libraries</segtitle>
262 <segtitle>Installed Directories</segtitle>
263
264 <seglistitem>
265 <seg>
266 hg
267 </seg>
268 <seg>
269 several internal modules under
270 /usr/lib/python&python3-majorver;/site-packages/mercurial
271 </seg>
272 <seg>
273 /etc/mercurial,
274 /usr/lib/python&python3-majorver;/site-packages/hgdemandimport,
275 /usr/lib/python&python3-majorver;/site-packages/hgext,
276 /usr/lib/python&python3-majorver;/site-packages/hgext3rd,
277 /usr/lib/python&python3-majorver;/site-packages/mercurial, and
278 /usr/lib/python&python3-majorver;/site-packages/mercurial-&mercurial-version;-py&python3-majorver;.egg-info
279 </seg>
280 </seglistitem>
281 </segmentedlist>
282
283 <variablelist>
284 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
285 <?dbfo list-presentation="list"?>
286 <?dbhtml list-presentation="table"?>
287
288 <varlistentry id="hg">
289 <term><command>hg</command></term>
290 <listitem>
291 <para>
292 is the mercurial version control system
293 </para>
294 <indexterm zone="mercurial hg">
295 <primary sortas="b-hg">hg</primary>
296 </indexterm>
297 </listitem>
298 </varlistentry>
299
300 </variablelist>
301
302 </sect2>
303
304</sect1>
Note: See TracBrowser for help on using the repository browser.