source: general/prog/mercurial.xml@ d0e51e6

11.1 11.2 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/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since d0e51e6 was d0e51e6, checked in by Ken Moffat <ken@…>, 2 years ago

mercurial: indicate how rust can be used.

  • Property mode set to 100644
File size: 9.9 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 "2520d0a4159587372f9863c5f0f028e6">
10 <!ENTITY mercurial-size "7.7 MB">
11 <!ENTITY mercurial-buildsize "77 MB (with docs, add 1.6 GB for tests)">
12 <!ENTITY mercurial-time "0.3 SBU (with docs, add 18 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 &lfs110a_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 <!--
78 <bridgehead renderas="sect4">Required</bridgehead>
79 <para role="required">
80 <xref linkend="python2"/>
81 </para>
82 -->
83
84 <bridgehead renderas="sect4">Optional</bridgehead>
85 <para role="optional">
86 <xref linkend="docutils"/>
87 (required to build the documentation),
88 <xref linkend="git"/>,
89 <xref linkend="gpgme"/> (with Python bindings),
90 <xref role="runtime" linkend="openssh"/>
91 (runtime, to access ssh://... repositories),
92 <xref linkend="pygments"/>,
93 <xref linkend="rust"/> (see <filename>rust/README.rst</filename> and <filename>rust/rhg/README.md</filename>),
94 <xref linkend="subversion"/> (with Python bindings),
95 <ulink url="https://launchpad.net/bzr">Bazaar</ulink>,
96 <ulink url="http://www.nongnu.org/cvs/">CVS</ulink>,
97 <ulink url="https://pypi.python.org/pypi/pyflakes">pyflakes</ulink>,
98 <ulink url="https://www.pyopenssl.org/en/stable/">pyOpenSSL</ulink>, and
99 <ulink url="https://github.com/google/re2/">re2</ulink>
100
101 </para>
102
103 <para condition="html" role="usernotes">User Notes:
104 <ulink url="&blfs-wiki;/mercurial"/></para>
105
106 </sect2>
107
108 <sect2 role="installation">
109 <title>Installation of Mercurial</title>
110 <!-- Rust port is now part of the standard tests -->
111
112 <para>
113 Build <application>Mercurial</application> by issuing the following
114 command:
115 </para>
116
117<screen><userinput>make build</userinput></screen>
118
119 <para>
120 To build the documentation (requires <xref linkend="docutils"/>), issue:
121 </para>
122
123<screen remap="doc"><userinput>make doc</userinput></screen>
124
125 <para>
126 To run the test suite, issue (15 tests are known to fail):
127 </para>
128<screen remap="test"><userinput>TESTFLAGS="-j<replaceable>&lt;N&gt;</replaceable> --tmpdir tmp --blacklist blacklists/fsmonitor --blacklist blacklists/linux-vfat" make check</userinput></screen>
129<!-- The blacklists have to be checked every release of Mercurial, do a listing
130 of tests/blacklists, but do not include the README. -->
131
132 <para>
133 where <replaceable>&lt;N&gt;</replaceable> is an integer between one
134 and the number of ( processor X threads ), inclusive. 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 confirmed. However, if
149 you add the switch <option>--debug</option> before
150 <option>--tmpdir</option>, and run again, some failures are gone, which
151 seems to be a problem with the test suite. If this happens, normally,
152 from now on, there will be no more such failures whether you use the
153 debug switch or not.
154 There are 13 of 876 tests that are known to fail.
155 </para>
156
157 <para>
158 An interesting switch is <option>--time</option>, which will generate at
159 the end of the test suite execution, a table with all executed tests and
160 respective start, end, user, system and real times. Note that the
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. You will obtain the lists of enabled
237 and disabled extensions, and more information, such as how to enable
238 or disable them 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 and
275 /usr/lib/python&python3-majorver;/site-packages/{hgdemandimport,hgext,hgext3rd,mercurial}
276 </seg>
277 </seglistitem>
278 </segmentedlist>
279
280 <variablelist>
281 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
282 <?dbfo list-presentation="list"?>
283 <?dbhtml list-presentation="table"?>
284
285 <varlistentry id="hg">
286 <term><command>hg</command></term>
287 <listitem>
288 <para>
289 is the mercurial version control system
290 </para>
291 <indexterm zone="mercurial hg">
292 <primary sortas="b-hg">hg</primary>
293 </indexterm>
294 </listitem>
295 </varlistentry>
296
297 </variablelist>
298
299 </sect2>
300
301</sect1>
Note: See TracBrowser for help on using the repository browser.