source: general/prog/mercurial.xml@ ce242f2

10.0 10.1 11.0 11.1 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind lazarus perl-modules qt5new trunk upgradedb xry111/intltool xry111/test-20220226
Last change on this file since ce242f2 was ce242f2, checked in by Bruce Dubbs <bdubbs@…>, 5 years ago

Update to vala-0.36.1.
Update to mercurial-4.1.2.
Update to libwww-perl-6.25 (perl-module).
Update to gnupg-2.1.20.
Update to qemu-2.8.1.
Update to libsndfile-1.0.28.

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

  • Property mode set to 100644
File size: 9.2 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 "934c99808bdc8385e074b902d59b0d93">
10 <!ENTITY mercurial-size "4.9 MB">
11 <!ENTITY mercurial-buildsize "45 MB (add 349 MB for tests)">
12 <!ENTITY mercurial-time "0.1 SBU (add 15 SBU for tests)">
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><application>Mercurial</application> is a distributed source control
33 management tool similar to <application>Git</application> and
34 <application>Bazaar</application>. <application>Mercurial</application> is
35 written in <application>Python</application> and is used by projects such as
36 Mozilla and Vim.</para>
37
38 &lfs80_checked;
39
40 <bridgehead renderas="sect3">Package Information</bridgehead>
41 <itemizedlist spacing="compact">
42 <listitem>
43 <para>Download (HTTP): <ulink url="&mercurial-download-http;"/></para>
44 </listitem>
45 <listitem>
46 <para>Download (FTP): <ulink url="&mercurial-download-ftp;"/></para>
47 </listitem>
48 <listitem>
49 <para>Download MD5 sum: &mercurial-md5sum;</para>
50 </listitem>
51 <listitem>
52 <para>Download size: &mercurial-size;</para>
53 </listitem>
54 <listitem>
55 <para>Estimated disk space required: &mercurial-buildsize;</para>
56 </listitem>
57 <listitem>
58 <para>Estimated build time: &mercurial-time;</para>
59 </listitem>
60 </itemizedlist>
61
62 <bridgehead renderas="sect3">Mercurial Dependencies</bridgehead>
63
64 <bridgehead renderas="sect4">Required</bridgehead>
65 <para role="required">
66 <xref linkend="python2"/>
67 </para>
68
69 <bridgehead renderas="sect4">Optional</bridgehead>
70 <para role="optional">
71 <xref linkend="git"/>,
72 <xref linkend="gnupg2"/> (<command>gpg2</command> with Python bindings),
73 <xref linkend="openssh"/> (runtime, to access ssh://... repositories),
74 <xref linkend="subversion"/> (with Python bindings),
75 <ulink url="https://launchpad.net/bzr">Bazaar</ulink>,
76 <ulink url="http://www.nongnu.org/cvs/">CVS</ulink>,
77 <ulink url="http://docutils.sourceforge.net/">Docutils</ulink> (required to build the documentation),
78 <ulink url="http://pypi.python.org/pypi/pyflakes">pyflakes</ulink>,
79 <ulink url="http://pygments.org/">pygments</ulink>, and
80 <ulink url="https://github.com/pyca/pyopenssl">pyOpenSSL</ulink>
81
82 </para>
83
84 <para condition="html" role="usernotes">User Notes:
85 <ulink url="&blfs-wiki;/mercurial"/></para>
86
87 </sect2>
88
89 <sect2 role="installation">
90 <title>Installation of Mercurial</title>
91
92 <para>Build <application>Mercurial</application> by issuing the following
93 command:</para>
94
95<screen><userinput>make build</userinput></screen>
96
97 <para>To build the documentation (requires
98 <application>Docutils</application>), issue:</para>
99
100<screen><userinput>make doc</userinput></screen>
101
102<!-- All tests pass (or are skipped) at version 3.8.2
103 <para>Running the test suite is optional. Tests which fail may be disabled,
104 adding each one to <filename>tests/blacklists/failed-tests</filename>. In
105 order to execute the test suite using the temporary directory <filename
106 class="directory">tests/tmp</filename> and skipping the failing tests,
107 issue:</para>
108
109<screen><userinput>cat &gt; tests/blacklists/failed-tests &lt;&lt; "EOF"
110<literal># Test Failures
111 test-gpg.t</literal>
112EOF
113-->
114 <para>
115 To run the test suite, issue:
116 </para>
117<screen><userinput>rm -rf tests/tmp &amp;&amp;
118
119TESTFLAGS="-j<replaceable>&lt;N&gt;</replaceable> --tmpdir tmp --blacklist blacklists/failed-tests" \
120make check</userinput></screen>
121
122 <para>where <replaceable>&lt;N&gt;</replaceable> is an integer between one
123 and the number of ( processor X threads ), inclusive. One test,
124 test-largefiles-update.t, is known to fail. <!-- In order to
125 investigate the apparently failing tests, you may use the
126 <command>run-tests.py</command> script. To see the almost forty switches,
127 some of them very useful, issue <command>tests/run-tests.py - -help</command>.
128 Running the following commands, you will execute only the tests that failed
129 before:--></para>
130<!--
131<screen><userinput>pushd tests &amp;&amp;
132 rm -rf tmp &amp;&amp;
133
134 ./run-tests.py - -tmpdir tmp test-gpg.t &amp;&amp;
135popd</userinput></screen>
136
137 <para>Normally, the previous failures will be confirmed. However, if
138 you add the switch
139 "- -debug" before "- -tmpdir", and run again, some failures are gone, which
140 seems to be a problem with the test suite. If this happens, normally, from
141 now on, there will be no more such failures whether you use the debug switch
142 or not.</para>
143
144 <para>An interesting switch is "- -time", which will generate at the end of
145 the test suite execution, a table with all executed tests and respective
146 start, end, user, system and real times. Notice that the switches may be
147 used with <command>make check</command>, including them in the
148 <envar>TESTFLAGS</envar> environment variable.</para>
149-->
150 <para>Install <application>Mercurial</application> by running the following
151 command (as <systemitem class="username">root</systemitem>):</para>
152
153<screen role="root"><userinput>make PREFIX=/usr install-bin</userinput></screen>
154
155 <para>If you built the documentation, install it by running the following
156 command (as <systemitem class="username">root</systemitem>):</para>
157
158<screen role="root"><userinput>make PREFIX=/usr install-doc</userinput></screen>
159
160 <para>After installed, two very quick and simple tests should run correctly.
161 First one needs some configuration:</para>
162
163<screen><userinput>cat &gt;&gt; ~/.hgrc &lt;&lt; "EOF"
164<literal>[ui]
165username = <replaceable>&lt;user_name&gt; &lt;user@mail&gt;</replaceable></literal>
166EOF</userinput></screen>
167
168 <para>where you must replace &lt;user_name&gt; and &lt;your@mail&gt; (mail
169 is optional and can be omitted). With the user identity defined, run
170 <command>hg debuginstall</command> and several lines will be displayed,
171 the last one reading "no problems detected". Another quick and simple test
172 is just <command>hg</command>, which should output basic commands that can
173 be used with <command>hg</command>.</para>
174
175 </sect2>
176
177 <sect2 role="configuration">
178 <title>Configuring Mercurial</title>
179
180 <sect3 id="mercurial-config">
181 <title>Config Files</title>
182
183 <para>
184 <filename>/etc/mercurial/hgrc</filename> and
185 <filename>~/.hgrc</filename>
186 </para>
187
188 <indexterm zone="mercurial mercurial-config">
189 <primary sortas="e-etc-mercurial-hgrc">/etc/mercurial/hgrc</primary>
190 </indexterm>
191
192 <indexterm zone="mercurial mercurial-config">
193 <primary sortas="e-AA.hgrc">~/.hgrc</primary>
194 </indexterm>
195
196 <para>The great majority of extensions are disabled by default. Run
197 <command>hg help extensions</command> if you need to enable any, e.g.
198 when investigating test failures. You will obtain the lists of enabled and
199 disabled extensions, and more information, such as how to enable or
200 disable them using configuration files.</para>
201
202 <para>If you have installed the <xref linkend="cacerts"/> and want
203 <application>Mercurial</application> to use them, as the <systemitem
204 class="username">root</systemitem> user, issue:</para>
205
206<screen role="root"><userinput>install -v -d -m755 /etc/mercurial &amp;&amp;
207cat &gt;&gt; /etc/mercurial/hgrc &lt;&lt; "EOF"
208<literal>[web]
209cacerts = /etc/ssl/ca-bundle.crt</literal>
210EOF</userinput></screen>
211
212 </sect3>
213
214 </sect2>
215
216 <sect2 role="content">
217 <title>Contents</title>
218
219 <segmentedlist>
220 <segtitle>Installed Programs</segtitle>
221 <segtitle>Installed Libraries</segtitle>
222 <segtitle>Installed Directories</segtitle>
223
224 <seglistitem>
225 <seg>
226 hg
227 </seg>
228 <seg>
229 several internal modules under
230 /usr/lib/python&python2-majorver;/site-packages/mercurial
231 </seg>
232 <seg>
233 /etc/mercurial and
234 /usr/lib/python&python2-majorver;/site-packages/{hgext,hgext3rd,mercurial}
235 </seg>
236 </seglistitem>
237 </segmentedlist>
238
239 <variablelist>
240 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
241 <?dbfo list-presentation="list"?>
242 <?dbhtml list-presentation="table"?>
243
244 <varlistentry id="hg">
245 <term><command>hg</command></term>
246 <listitem>
247 <para>is the program file for mercurial.</para>
248 <indexterm zone="mercurial hg">
249 <primary sortas="b-hg">hg</primary>
250 </indexterm>
251 </listitem>
252 </varlistentry>
253
254 </variablelist>
255
256 </sect2>
257
258</sect1>
Note: See TracBrowser for help on using the repository browser.