source: general/prog/mercurial.xml@ 18174f3

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 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 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 18174f3 was 18174f3, checked in by Bruce Dubbs <bdubbs@…>, 7 years ago

mercurial-4.0.1

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@18031 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 "22a9b1d7c0c06a53f0ae5b386d536d08">
10 <!ENTITY mercurial-size "4.6 MB">
11 <!ENTITY mercurial-buildsize "38 MB (add 339 MB for tests)">
12 <!ENTITY mercurial-time "less than 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 &lfs7a_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. <!-- In order to
124 investigate the apparently failing tests, you may use the
125 <command>run-tests.py</command> script. To see the almost forty switches,
126 some of them very useful, issue <command>tests/run-tests.py - -help</command>.
127 Running the following commands, you will execute only the tests that failed
128 before:--></para>
129<!--
130<screen><userinput>pushd tests &amp;&amp;
131 rm -rf tmp &amp;&amp;
132
133 ./run-tests.py - -tmpdir tmp test-gpg.t &amp;&amp;
134popd</userinput></screen>
135
136 <para>Normally, the previous failures will be confirmed. However, if
137 you add the switch
138 "- -debug" before "- -tmpdir", and run again, some failures are gone, which
139 seems to be a problem with the test suite. If this happens, normally, from
140 now on, there will be no more such failures whether you use the debug switch
141 or not.</para>
142
143 <para>An interesting switch is "- -time", which will generate at the end of
144 the test suite execution, a table with all executed tests and respective
145 start, end, user, system and real times. Notice that the switches may be
146 used with <command>make check</command>, including them in the
147 <envar>TESTFLAGS</envar> environment variable.</para>
148-->
149 <para>Install <application>Mercurial</application> by running the following
150 command (as <systemitem class="username">root</systemitem>):</para>
151
152<screen role="root"><userinput>make PREFIX=/usr install-bin</userinput></screen>
153
154 <para>If you built the documentation, install it by running the following
155 command (as <systemitem class="username">root</systemitem>):</para>
156
157<screen role="root"><userinput>make PREFIX=/usr install-doc</userinput></screen>
158
159 <para>After installed, two very quick and simple tests should run correctly.
160 First one needs some configuration:</para>
161
162<screen><userinput>cat &gt;&gt; ~/.hgrc &lt;&lt; "EOF"
163<literal>[ui]
164username = <replaceable>&lt;user_name&gt; &lt;user@mail&gt;</replaceable></literal>
165EOF</userinput></screen>
166
167 <para>where you must replace &lt;user_name&gt; and &lt;your@mail&gt; (mail
168 is optional and can be omitted). With the user identity defined, run
169 <command>hg debuginstall</command> and several lines will be displayed,
170 the last one reading "no problems detected". Another quick and simple test
171 is just <command>hg</command>, which should output basic commands that can
172 be used with <command>hg</command>.</para>
173
174 </sect2>
175
176 <sect2 role="configuration">
177 <title>Configuring Mercurial</title>
178
179 <sect3 id="mercurial-config">
180 <title>Config Files</title>
181
182 <para>
183 <filename>/etc/mercurial/hgrc</filename> and
184 <filename>~/.hgrc</filename>
185 </para>
186
187 <indexterm zone="mercurial mercurial-config">
188 <primary sortas="e-etc-mercurial-hgrc">/etc/mercurial/hgrc</primary>
189 </indexterm>
190
191 <indexterm zone="mercurial mercurial-config">
192 <primary sortas="e-AA.hgrc">~/.hgrc</primary>
193 </indexterm>
194
195 <para>The great majority of extensions are disabled by default. Run
196 <command>hg help extensions</command> if you need to enable any, e.g.
197 when investigating test failures. You will obtain the lists of enabled and
198 disabled extensions, and more information, such as how to enable or
199 disable them using configuration files.</para>
200
201 <para>If you have installed the <xref linkend="cacerts"/> and want
202 <application>Mercurial</application> to use them, as the <systemitem
203 class="username">root</systemitem> user, issue:</para>
204
205<screen role="root"><userinput>install -v -d -m755 /etc/mercurial &amp;&amp;
206cat &gt;&gt; /etc/mercurial/hgrc &lt;&lt; "EOF"
207<literal>[web]
208cacerts = /etc/ssl/ca-bundle.crt</literal>
209EOF</userinput></screen>
210
211 </sect3>
212
213 </sect2>
214
215 <sect2 role="content">
216 <title>Contents</title>
217
218 <segmentedlist>
219 <segtitle>Installed Programs</segtitle>
220 <segtitle>Installed Libraries</segtitle>
221 <segtitle>Installed Directories</segtitle>
222
223 <seglistitem>
224 <seg>
225 hg
226 </seg>
227 <seg>
228 several internal modules under
229 /usr/lib/python&python2-majorver;/site-packages/mercurial
230 </seg>
231 <seg>
232 /etc/mercurial and
233 /usr/lib/python&python2-majorver;/site-packages/{hgext,hgext3rd,mercurial}
234 </seg>
235 </seglistitem>
236 </segmentedlist>
237
238 <variablelist>
239 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
240 <?dbfo list-presentation="list"?>
241 <?dbhtml list-presentation="table"?>
242
243 <varlistentry id="hg">
244 <term><command>hg</command></term>
245 <listitem>
246 <para>is the program file for mercurial.</para>
247 <indexterm zone="mercurial hg">
248 <primary sortas="b-hg">hg</primary>
249 </indexterm>
250 </listitem>
251 </varlistentry>
252
253 </variablelist>
254
255 </sect2>
256
257</sect1>
Note: See TracBrowser for help on using the repository browser.