source: general/prog/mercurial.xml@ aec0560

10.0 10.1 11.0 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 upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since aec0560 was aec0560, checked in by Bruce Dubbs <bdubbs@…>, 4 years ago

Update to gtk+-3.24.17.
Update to mercurial-5.3.2.
Update to atk-2.36.0.

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@22941 af4574ff-66df-0310-9fd7-8a98e5e911e0

  • Property mode set to 100644
File size: 9.8 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 "824b839a6e948844b81c757968f888bc">
10 <!ENTITY mercurial-size "7.2 MB">
11 <!ENTITY mercurial-buildsize "78 MB (with docs, add 1.0 GB for tests)">
12 <!ENTITY mercurial-time "0.5 SBU (with docs, add 11 SBU for tests using -j4)">
13]>
14
15<sect1 id="mercurial" xreflabel="Mercurial-&mercurial-version;">
16 <?dbhtml filename="mercurial.html"?>
17
18 <sect1info>
19 <othername>$LastChangedBy$</othername>
20 <date>$Date$</date>
21 </sect1info>
22
23 <title>Mercurial-&mercurial-version;</title>
24
25 <indexterm zone="mercurial">
26 <primary sortas="a-mercurial">mercurial</primary>
27 </indexterm>
28
29 <sect2 role="package">
30 <title>Introduction to Mercurial</title>
31
32 <para>
33 <application>Mercurial</application> is a distributed source control
34 management tool similar to <application>Git</application> and
35 <application>Bazaar</application>. <application>Mercurial</application>
36 is written in <application>Python</application> and is used by projects
37 such as Mozilla and Vim.
38 </para>
39
40 &lfs91_checked;
41
42 <bridgehead renderas="sect3">Package Information</bridgehead>
43 <itemizedlist spacing="compact">
44 <listitem>
45 <para>
46 Download (HTTP): <ulink url="&mercurial-download-http;"/>
47 </para>
48 </listitem>
49 <listitem>
50 <para>
51 Download (FTP): <ulink url="&mercurial-download-ftp;"/>
52 </para>
53 </listitem>
54 <listitem>
55 <para>
56 Download MD5 sum: &mercurial-md5sum;
57 </para>
58 </listitem>
59 <listitem>
60 <para>
61 Download size: &mercurial-size;
62 </para>
63 </listitem>
64 <listitem>
65 <para>
66 Estimated disk space required: &mercurial-buildsize;
67 </para>
68 </listitem>
69 <listitem>
70 <para>
71 Estimated build time: &mercurial-time;
72 </para>
73 </listitem>
74 </itemizedlist>
75
76 <bridgehead renderas="sect3">Mercurial Dependencies</bridgehead>
77
78 <bridgehead renderas="sect4">Required</bridgehead>
79 <para role="required">
80 <xref linkend="python2"/>
81 </para>
82
83 <bridgehead renderas="sect4">Optional</bridgehead>
84 <para role="optional">
85 <xref linkend="docutils"/>
86 (required to build the documentation),
87 <xref linkend="git"/>,
88 <xref linkend="gnupg2"/> (<command>gpg2</command> with Python bindings),
89 <xref role="runtime" linkend="openssh"/>
90 (runtime, to access ssh://... repositories),
91 <xref linkend="pygments"/>,
92 <xref linkend="subversion"/> (with Python bindings),
93 <ulink url="https://launchpad.net/bzr">Bazaar</ulink>,
94 <ulink url="http://www.nongnu.org/cvs/">CVS</ulink>,
95 <ulink url="https://pypi.python.org/pypi/pyflakes">pyflakes</ulink>, and
96 <ulink url="https://github.com/pyca/pyopenssl">pyOpenSSL</ulink>
97
98 </para>
99
100 <para condition="html" role="usernotes">User Notes:
101 <ulink url="&blfs-wiki;/mercurial"/></para>
102
103 </sect2>
104
105 <sect2 role="installation">
106 <title>Installation of Mercurial</title>
107 <!-- seems to have a development rust port -->
108
109 <para>
110 Build <application>Mercurial</application> by issuing the following
111 command:
112 </para>
113
114<screen><userinput>make build</userinput></screen>
115
116 <para>
117 To build the documentation (requires <xref linkend="docutils"/>), issue:
118 </para>
119
120<screen remap="doc"><userinput>2to3 -w doc/hgmanpage.py &amp;&amp;
121PYTHON=python3 make doc</userinput></screen>
122
123 <para>
124 To run the test suite, issue:
125 </para>
126<screen remap="test"><userinput>rm -rf tests/tmp &amp;&amp;
127TESTFLAGS="-j<replaceable>&lt;N&gt;</replaceable> --tmpdir tmp --blacklist blacklists/fsmonitor --blacklist blacklists/linux-vfat" make check</userinput></screen>
128<!-- The blacklists have to be checked every release of Mercurial, do a listing
129 of tests/blacklists, but do not include the makefile. -->
130
131 <para>
132 where <replaceable>&lt;N&gt;</replaceable> is an integer between one
133 and the number of ( processor X threads ), inclusive. In order to
134 investigate any apparently failing tests, you may use the
135 <command>run-tests.py</command> script. To see the almost forty switches,
136 some of them very useful, issue <command>tests/run-tests.py
137 --help</command>. Running the following commands, you will execute only
138 the tests that failed before:
139 </para>
140
141<screen remap="test"><userinput>pushd tests &amp;&amp;
142 rm -rf tmp &amp;&amp;
143 ./run-tests.py --tmpdir tmp test-gpg.t
144popd</userinput></screen>
145
146 <para>
147 Normally, the previous failures will be confirmed. However, if
148 you add the switch <option>--debug</option> before
149 <option>--tmpdir</option>, and run again, some failures are gone, which
150 seems to be a problem with the test suite. If this happens, normally,
151 from now on, there will be no more such failures whether you use the
152 debug switch or not. Three tests, test-alias.t, test-install.t, and
153 test-bundle2-exchange.t (intermittently), are known to fail.
154 </para>
155
156 <para>
157 An interesting switch is <option>--time</option>, which will generate at
158 the end of the test suite execution, a table with all executed tests and
159 respective start, end, user, system and real times. Note that the
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 <sect2 role="commands">
201 <title>Command Explanations</title>
202
203 <para>
204 <command>2to3 -w doc/hgmanpage.py</command>: Since <application>
205 Python 3</application> is used with docutils, one file needs to be
206 converted in order to be compatible.
207 </para>
208
209 </sect2>
210 <sect2 role="configuration">
211 <title>Configuring Mercurial</title>
212
213 <sect3 id="mercurial-config">
214 <title>Config Files</title>
215
216 <para>
217 <filename>/etc/mercurial/hgrc</filename> and
218 <filename>~/.hgrc</filename>
219 </para>
220
221 <indexterm zone="mercurial mercurial-config">
222 <primary sortas="e-etc-mercurial-hgrc">/etc/mercurial/hgrc</primary>
223 </indexterm>
224
225 <indexterm zone="mercurial mercurial-config">
226 <primary sortas="e-AA.hgrc">~/.hgrc</primary>
227 </indexterm>
228
229 <para>
230 The great majority of extensions are disabled by default. Run
231 <command>hg help extensions</command> if you need to enable any, e.g.
232 when investigating test failures. You will obtain the lists of enabled
233 and disabled extensions, and more information, such as how to enable
234 or disable them using configuration files.
235 </para>
236
237 <para>
238 If you have installed <xref linkend="make-ca"/> and want
239 <application>Mercurial</application> to use them, as the <systemitem
240 class="username">root</systemitem> user, issue:
241 </para>
242
243<screen role="root"><userinput>install -v -d -m755 /etc/mercurial &amp;&amp;
244cat &gt; /etc/mercurial/hgrc &lt;&lt; "EOF"
245<literal>[web]
246cacerts = /etc/pki/tls/certs/ca-bundle.crt</literal>
247EOF</userinput></screen>
248
249 </sect3>
250
251 </sect2>
252
253 <sect2 role="content">
254 <title>Contents</title>
255
256 <segmentedlist>
257 <segtitle>Installed Programs</segtitle>
258 <segtitle>Installed Libraries</segtitle>
259 <segtitle>Installed Directories</segtitle>
260
261 <seglistitem>
262 <seg>
263 hg
264 </seg>
265 <seg>
266 several internal modules under
267 /usr/lib/python&python2-majorver;/site-packages/mercurial
268 </seg>
269 <seg>
270 /etc/mercurial and
271 /usr/lib/python&python2-majorver;/site-packages/{hgdemandimport,hgext,hgext3rd,mercurial}
272 </seg>
273 </seglistitem>
274 </segmentedlist>
275
276 <variablelist>
277 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
278 <?dbfo list-presentation="list"?>
279 <?dbhtml list-presentation="table"?>
280
281 <varlistentry id="hg">
282 <term><command>hg</command></term>
283 <listitem>
284 <para>
285 is the mercurial version control system.
286 </para>
287 <indexterm zone="mercurial hg">
288 <primary sortas="b-hg">hg</primary>
289 </indexterm>
290 </listitem>
291 </varlistentry>
292
293 </variablelist>
294
295 </sect2>
296
297</sect1>
Note: See TracBrowser for help on using the repository browser.