source: general/prog/mercurial.xml@ 28320bf4

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 7.10 7.9 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 28320bf4 was 28320bf4, checked in by Fernando de Oliveira <fernando@…>, 8 years ago
  • Update to mercurial-3.7.

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

  • Property mode set to 100644
File size: 8.9 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 "a175ce4f6660d87849589ee7d015db67">
10 <!ENTITY mercurial-size "4.5 MB">
11 <!ENTITY mercurial-buildsize "54 MB (with documentation, additional 384 MB for tests)">
12 <!ENTITY mercurial-time "less than 0.1 SBU (with documentation, additional 3.4 SBU for tests, using -j8)">
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 &lfs78_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. If some thest fails, it can be
102 disabled. To test the results in the subdiretory <filename
103 class="directory">tests/tmp</filename>, skipping failing tests,
104 issue:</para>
105
106<screen><userinput>cat &gt; tests/blacklists/failed-tests &lt;&lt; "EOF"
107<literal># Test Failures
108 test-convert-svn-source.t
109 test-convert-hg-svn.t
110 test-gpg.t</literal>
111EOF
112rm -rf tests/tmp &amp;&amp;
113TESTFLAGS="-j<replaceable>&lt;N&gt;</replaceable> --tmpdir tmp --blacklist blacklists/failed-tests" \
114make check</userinput></screen>
115
116 <para>where <replaceable>&lt;N&gt;</replaceable> is an integer between one
117 and the number of ( processor X threads ), inclusive. In order to
118 investigate the apparently failing tests, you may use the
119 <command>run-tests.py</command> scrypt. To see the almost forty switches,
120 some of them very useful, issue <command>tests/run-tests.py --help</command>.
121 Running the following commands, you will execute only the tests that failed
122 before:</para>
123
124<screen><userinput>pushd tests &amp;&amp;
125rm -rf tmp &amp;&amp;
126./run-tests.py --debug --tmpdir tmp \
127 test-convert-svn-source.t \
128 test-convert-hg-svn.t \
129 test-gpg.t &amp;&amp;
130popd</userinput></screen>
131
132 <para>Normally, failures will be repeated. However, if you add the switch
133 "--debug" before "--tmpdir", and run again, the failures are gone. Normally,
134 from now on, there will be no more failure whether you use the debug switch
135 or not. An interesting switch is "--time", which will generated at the end
136 of the test suite execution, a table with all executed tests and respective
137 start, end, user, system and real times. Notice that the switches may be
138 used with <command>make check</command>, in the
139 <envar>TESTFLAGS</envar> environment variable.</para>
140
141 <para>Install <application>Mercurial</application> by running the following
142 command (as <systemitem class="username">root</systemitem>):</para>
143
144<screen role="root"><userinput>make PREFIX=/usr install-bin</userinput></screen>
145
146 <para>If you built the documentation, install it by running the following
147 command (as <systemitem class="username">root</systemitem>):</para>
148
149<screen role="root"><userinput>make PREFIX=/usr install-doc</userinput></screen>
150
151 <para>After installed, two very quick and simple tests should run correctly.
152 First one needs some configuration:</para>
153
154<screen><userinput>cat &gt;&gt; ~/.hgrc &lt;&lt; "EOF"
155<literal>[ui]
156username = &lt;user_name&gt; &lt;your@mail&gt;</literal>
157EOF</userinput></screen>
158
159 <para>where you must replace &lt;user_name&gt; and &lt;your@mail&gt; (mail
160 is optional and can be omitted). With the user identity defined, run
161 <command>hg debuginstall</command> and several lines will be displayed,
162 the last one reading "no problems detected". Another quick and simple test
163 is just <command>hg</command>, which should output basic commands that can
164 be used with <command>hg</command>.</para>
165
166 </sect2>
167
168 <sect2 role="configuration">
169 <title>Configuring Mercurial</title>
170
171 <sect3 id="mercurial-config">
172 <title>Config Files</title>
173
174 <para>
175 <filename>/etc/mercurial/hgrc</filename> and
176 <filename>~/.hgrc</filename>
177 </para>
178
179 <indexterm zone="mercurial mercurial-config">
180 <primary sortas="e-etc-mercurial-hgrc">/etc/mercurial/hgrc</primary>
181 </indexterm>
182
183 <indexterm zone="mercurial mercurial-config">
184 <primary sortas="e-AA.hgrc">~/.hgrc</primary>
185 </indexterm>
186
187 <para>
188 A great majority of extensions are disabled by default. Run <command>hg
189 help extensions</command> if you need to enable any, e.g. when
190 investigating test failures, and use one of the configuration files to
191 enable it.
192 </para>
193
194 <para>
195 If you have installed the <xref linkend="cacerts"/> and you want
196 <application>Mercurial</application> to use them, as the
197 <systemitem class="username">root</systemitem> user:
198 </para>
199
200<screen role="root"><userinput>install -v -d -m755 /etc/mercurial &amp;&amp;
201cat &gt; /etc/mercurial/hgrc &lt;&lt; "EOF"
202<literal>[web]
203cacerts = /etc/ssl/ca-bundle.crt</literal>
204EOF</userinput></screen>
205
206 </sect3>
207
208 </sect2>
209
210 <sect2 role="content">
211 <title>Contents</title>
212
213 <segmentedlist>
214 <segtitle>Installed Programs</segtitle>
215 <segtitle>Installed Libraries</segtitle>
216 <segtitle>Installed Directories</segtitle>
217
218 <seglistitem>
219 <seg>
220 hg
221 </seg>
222 <seg>
223 several internal modules under
224 /usr/lib/python&python2-majorver;/site-packages/mercurial
225 </seg>
226 <seg>
227 /etc/mercurial and
228 /usr/lib/python&python2-majorver;/site-packages/{hgext,mercurial}
229 </seg>
230 </seglistitem>
231 </segmentedlist>
232
233 <variablelist>
234 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
235 <?dbfo list-presentation="list"?>
236 <?dbhtml list-presentation="table"?>
237
238 <varlistentry id="hg">
239 <term><command>hg</command></term>
240 <listitem>
241 <para>is the program file for mercurial.</para>
242 <indexterm zone="mercurial hg">
243 <primary sortas="b-hg">hg</primary>
244 </indexterm>
245 </listitem>
246 </varlistentry>
247
248 </variablelist>
249
250 </sect2>
251
252</sect1>
Note: See TracBrowser for help on using the repository browser.