source: general/prog/mercurial.xml@ 3349c8e

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 7.10 8.0 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt nosym perl-modules 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 3349c8e was a8a772b3, checked in by Bruce Dubbs <bdubbs@…>, 8 years ago

Fix nd5sum

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

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