source: general/prog/mercurial.xml@ 3cef615

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/xf86-video-removal
Last change on this file since 3cef615 was 3cef615, checked in by Bruce Dubbs <bdubbs@…>, 17 months ago

Update to mercurial-6.3.1.

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