source: general/prog/mercurial.xml@ 87065037

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 87065037 was 1fe05eb, checked in by Pierre Labastie <pierre.labastie@…>, 20 months ago

A round of removal of eol trailing spaces

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