source: general/prog/subversion.xml@ bf904c0

12.1 ken/TL2024 ken/tuningfonts lazarus plabs/newcss python3.11 rahul/power-profiles-daemon renodr/vulkan-addition trunk xry111/llvm18
Last change on this file since bf904c0 was eb684454, checked in by Douglas R. Reno <renodr@…>, 10 months ago

Typos from rhubarbpieguy, and minor modification to bind-utils' XML to
make it standard with other pages.

  • Property mode set to 100644
File size: 20.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 subversion-download-http "https://archive.apache.org/dist/subversion/subversion-&subversion-version;.tar.bz2">
8 <!ENTITY subversion-download-ftp " ">
9 <!ENTITY subversion-md5sum "9927b167d1c67d663ca63125907f6f69">
10 <!ENTITY subversion-size "8.3 MB">
11 <!-- for 1.12.0 1.12.2 1.13.0
12 make javahl: 0.5 SBU 28 MB; not avail
13 swig-pl: 0.8 42 MB; 0.7 SBU 43 MB; 0.6 SBU 44 MB
14 swig-py: 0.6 26 MB; 0.5 28 MB; 0.5 28 MB
15 swig-rb: 0.4 22 MB; 0.4 21 MB; 0.3 21 MB
16 docs: 2 secs 26 MB; 2 sec 27 MB; 2 sec 26 MB
17 tests 46 min 1104 MB 46:52 1103 MB 47 min -->
18 <!ENTITY subversion-buildsize "208 MB (add 228 MB for bindings, 52 MB for docs, 1.3 GB for tests)">
19 <!ENTITY subversion-time "0.5 SBU (Using parallelism=4; add 1.9 SBU for bindings, 35 SBU for tests)">
20]>
21
22<sect1 id="subversion" xreflabel="Subversion-&subversion-version;">
23 <?dbhtml filename="subversion.html"?>
24
25
26 <title>Subversion-&subversion-version;</title>
27
28 <indexterm zone="subversion">
29 <primary sortas="a-Subversion">Subversion</primary>
30 </indexterm>
31
32 <sect2 role="package">
33 <title>Introduction to Subversion</title>
34
35 <para>
36 <application>Subversion</application> is a version control system that is
37 designed to be a compelling replacement for <application>CVS</application>
38 in the open source community. It extends and enhances
39 <application>CVS</application>' feature set, while maintaining a similar
40 interface for those already familiar with <application>CVS</application>.
41 These instructions install the client and server software used to
42 manipulate a <application>Subversion</application> repository. Creation of
43 a repository is covered at <xref linkend="svnserver"/>.
44 </para>
45
46 &lfs120_checked;
47
48 <bridgehead renderas="sect3">Package Information</bridgehead>
49 <itemizedlist spacing="compact">
50 <listitem>
51 <para>
52 Download (HTTP): <ulink url="&subversion-download-http;"/>
53 </para>
54 </listitem>
55 <listitem>
56 <para>
57 Download (FTP): <ulink url="&subversion-download-ftp;"/>
58 </para>
59 </listitem>
60 <listitem>
61 <para>
62 Download MD5 sum: &subversion-md5sum;
63 </para>
64 </listitem>
65 <listitem>
66 <para>
67 Download size: &subversion-size;
68 </para>
69 </listitem>
70 <listitem>
71 <para>
72 Estimated disk space required: &subversion-buildsize;
73 </para>
74 </listitem>
75 <listitem>
76 <para>
77 Estimated build time: &subversion-time;
78 </para>
79 </listitem>
80 </itemizedlist>
81<!--
82 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
83 <itemizedlist spacing="compact">
84 <listitem>
85 <para>
86 Required patch for building with <xref linkend="apr"/>:
87 <ulink url="&patch-root;/subversion-&subversion-version;-apr_1.7.0_fix-1.patch"/>
88 </para>
89 </listitem>
90 </itemizedlist>
91-->
92 <bridgehead renderas="sect3">Subversion Dependencies</bridgehead>
93
94 <bridgehead renderas="sect4">Required</bridgehead>
95 <para role="required">
96 <xref linkend="apr-util"/> and
97 <xref linkend="sqlite"/>
98 </para>
99
100 <bridgehead renderas="sect4">Recommended</bridgehead>
101 <para role="recommended">
102 <xref linkend="serf"/> (for handling http:// and https:// URLs)
103 </para>
104
105<!-- support for berkeley db is deprecated since 1.8
106 <note>
107 <para>
108 If you require the <application>Berkeley DB</application> back-end hooks
109 in <application>Subversion</application> to build or support BDB based
110 repositories, you must have <application>APR-util</application> linked to
111 the <application>Berkeley DB</application> library.
112 </para>
113 </note>
114-->
115
116 <bridgehead renderas="sect4">Optional</bridgehead>
117 <para role="optional">
118 <xref linkend="apache"/>,
119 <xref linkend="boost"/>,
120<!-- support for berkeley db is deprecated since 1.8
121 <xref linkend="db"/>,
122-->
123 <xref linkend="cyrus-sasl"/>,
124 <xref linkend="dbus"/>,
125 <xref linkend="doxygen"/> (for generating HTML documentation),
126 <xref linkend="gnome-keyring"/>,
127 <xref linkend="libsecret"/>,
128<!-- <xref linkend="kdelibs"/> (for <ulink url="http://utils.kde.org/projects/kwalletmanager/">KWallet</ulink> support), -->
129 <xref linkend="py3c"/> (for the python bindings, and tests)
130 <xref linkend="python2"/> (with sqlite support for the tests),
131 <xref linkend="ruby"/>,
132 <xref linkend="swig"/> (for building Perl, Python and Ruby bindings),
133 <ulink url="https://github.com/lz4/lz4/releases">LZ4</ulink>, and
134 <ulink url="https://git.netsurf-browser.org/libutf8proc.git/">UTF8proc</ulink>
135 </para>
136
137 <bridgehead renderas="sect4">Optional (for the Java Bindings)</bridgehead>
138 <para role="optional">
139 One of <xref linkend="openjdk"/>,
140 <ulink url="https://www.inet.no/dante/">Dante</ulink> or
141 <ulink url="https://jikes.sourceforge.net/">Jikes</ulink>,
142 <ulink url="https://junit.org/junit4/">JUnit 4</ulink> (to test the Java bindings) and
143 <xref linkend="apache-ant"/>.
144 </para>
145
146 </sect2>
147
148 <sect2 role="installation">
149 <title>Installation of Subversion</title>
150<!--
151 <note>
152 <para>
153 This package may fail during the make phase when using multiple
154 processors. If this occurs try continuing with
155 <emphasis>make -j1</emphasis> or redo the entire build process with
156 fresh sources using <emphasis>-j1</emphasis>.
157 </para>
158 </note>
159-->
160
161 <para>
162 First, adapt some Python scripts to use python3:
163 </para>
164
165<screen><userinput remap="pre">grep -rl '^#!.*python$' | xargs sed -i '1s/python/&amp;3/'</userinput></screen>
166
167 <para>
168 Next, adapt the Ruby bindings to Ruby-3.2:
169 </para>
170
171 <screen><userinput remap="pre">sed -e 's/File.exists?/File.exist?/' \
172 -i subversion/bindings/swig/ruby/svn/util.rb \
173 subversion/bindings/swig/ruby/test/test_wc.rb</userinput></screen>
174
175 <para>
176 Install <application>Subversion</application> by running the following
177 commands:
178 </para>
179
180<screen><userinput>PYTHON=python3 ./configure --prefix=/usr \
181 --disable-static \
182 --with-apache-libexecdir \
183 --with-lz4=internal \
184 --with-utf8proc=internal &amp;&amp;
185make</userinput></screen>
186
187 <para>
188 If you have <xref linkend="doxygen"/> installed and you wish to build the
189 API documentation, issue:
190 </para>
191
192<screen remap="doc"><userinput>doxygen doc/doxygen.conf</userinput></screen>
193
194 <para>
195 If you wish to build the Java bindings pass the <option>--enable-javahl</option>
196 parameter to the <command>configure</command> command. In addition, if
197 you want to run the Java test suite, you have to specify the location
198 of the <application>JUnit</application> file by adding
199 <option>--with-junit=&lt;path to junit jar&gt;</option> (for
200 instance <option>--with-junit=/usr/local/java/lib/junit-4.13.jar</option>)
201 to <command>configure</command>. The JUnit jar file is no longer
202 included in <xref linkend="apache-ant"/> and must be downloaded
203 separately. To build the Java bindings, issue the following command:
204 </para>
205 <para>
206 <screen><command>make -j1 javahl</command></screen>
207 </para>
208
209 <para>
210 If you want to compile <application>Perl</application>,
211 <application>Python</application>, or <application>Ruby</application>
212 bindings, issue any of the following command:
213 </para>
214 <para>
215 <screen><command>make swig-pl</command> # for <application>Perl</application>
216<command>make swig-py \
217 swig_pydir=/usr/lib/python&python3-majorver;/site-packages/libsvn \
218 swig_pydir_extra=/usr/lib/python&python3-majorver;/site-packages/svn</command> # for <application>Python</application>
219<command>make swig-rb</command> # for <application>Ruby</application></screen>
220 </para>
221
222 <para>
223 To test the results, issue: <command>make check</command>. Four tests in
224 the <filename>commit_tests.py</filename>,
225 <filename>prop_tests.py</filename>, and
226 <filename>update_tests.py</filename> suites are known to fail.
227 </para>
228
229 <para>
230 To test the results of any of the <application>SWIG</application>
231 bindings, you can use any of the following commands:
232 <command>make check-swig-pl</command>,
233 <command>make check-swig-py</command>, or
234 <command>make check-swig-rb</command>.
235 </para>
236
237 <para>
238 Now, as the <systemitem class="username">root</systemitem> user:
239 </para>
240
241<screen role="root"><userinput>make install &amp;&amp;
242
243install -v -m755 -d /usr/share/doc/subversion-&subversion-version; &amp;&amp;
244cp -v -R doc/* /usr/share/doc/subversion-&subversion-version;</userinput></screen>
245
246 <para>
247 If you built the Java bindings, issue the following command as the
248 <systemitem class="username">root</systemitem> user to install them:
249 </para>
250 <para>
251<screen><command>make install-javahl</command></screen>
252 </para>
253
254 <para>
255 If you built the <application>Perl</application>,
256 <application>Python</application>, or
257 <application>Ruby</application> bindings, issue any of the following
258 commands as the <systemitem class="username">root</systemitem> user
259 to install them:
260 </para>
261 <para>
262<screen><command>make install-swig-pl</command>
263<command>make install-swig-py \
264 swig_pydir=/usr/lib/python&python3-majorver;/site-packages/libsvn \
265 swig_pydir_extra=/usr/lib/python&python3-majorver;/site-packages/svn</command>
266<command>make install-swig-rb</command></screen>
267 </para>
268
269 <para>
270 The java bindings need to be installed in order for the tests to run,
271 since the tests attempt to look for them in CLASSPATH. To test the
272 results of the Java bindings build, issue
273 <command>LANG=C make check-javahl</command>.
274 <!-- ~~ This explanation is added to the configure above ~~
275 The <application>JUnit</application> testing framework must be installed,
276 and the location of the JUnit jar has to be specified by passing the
277 <option>- -with-junit=&lt;path to junit jar&gt;</option> parameter to
278 <command>configure</command>. Note that <application>JUnit</application>
279 is included in <xref linkend="apache-ant"/>, and can be accessed by
280 passing <option>- -with-junit=/opt/ant/lib/junit-4.12.jar</option>
281 to <command>configure</command>.
282 -->
283 </para>
284 </sect2>
285
286 <sect2 role="commands">
287 <title>Command Explanations</title>
288
289 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
290 href="../../xincludes/static-libraries.xml"/>
291
292 <para>
293 <parameter>--with-apache-libexecdir</parameter>:
294 If <xref linkend="apache"/> is installed, the shared
295 <application>Apache</application> modules are
296 built. This switch allows to have those modules installed to
297 <application>Apache</application>'s configured module dir instead
298 of <filename class="directory">/usr/libexec</filename>. It has no effect
299 if <application>Apache</application> is not installed.
300 </para>
301
302 <para>
303 <parameter>--with-lz4=internal, --with-utf8proc=internal</parameter>:
304 Remove these switches if you have installed the optional dependencies.
305 </para>
306
307 <para>
308 <option>--enable-javahl</option>: enables compilation of Java high level
309 bindings. Running <command>make javahl</command> is necessary to do
310 the compilation.
311 </para>
312
313 <para>
314 <option>--with-junit=&lt;location of the junit jar file&gt;</option>:
315 gives the location of the junit jar, otherwise the javahl tests cannot
316 be run.
317 </para>
318
319 <para>
320 <option>--disable-gmock</option>: Do not use the Googlemock testing
321 framework.
322 </para>
323
324 </sect2>
325
326 <sect2 role="configuration">
327 <title>Configuring Subversion</title>
328
329 <sect3 id="subversion-config">
330 <title>Config Files</title>
331
332 <para>
333 <filename>~/.subversion/config</filename> and
334 <filename>/etc/subversion/config</filename>
335 </para>
336
337 <indexterm zone="subversion subversion-config">
338 <primary sortas="e-AA.subversion/config">~/.subversion/config</primary>
339 </indexterm>
340
341 <indexterm zone="subversion subversion-config">
342 <primary sortas="e-etc-subversion-config">/etc/subversion/config</primary>
343 </indexterm>
344 </sect3>
345
346 <sect3>
347 <title>Configuration Information</title>
348
349 <para>
350 <filename>/etc/subversion/config</filename> is the
351 <application>Subversion</application> system-wide configuration file.
352 This file is used to specify defaults for different
353 <command>svn</command> commands.
354 </para>
355
356 <para>
357 <filename>~/.subversion/config</filename> is the user's personal
358 configuration file. It is used to override the system-wide defaults set
359 in <filename>/etc/subversion/config</filename>.
360 </para>
361 </sect3>
362
363 </sect2>
364
365 <sect2 role="content">
366 <title>Contents</title>
367
368 <segmentedlist>
369 <segtitle>Installed Programs</segtitle>
370 <segtitle>Installed Libraries</segtitle>
371 <segtitle>Installed Directories</segtitle>
372
373 <seglistitem>
374 <seg>
375 svn, svnadmin, svnbench, svndumpfilter, svnfsfs, svnlook, svnmucc,
376 svnrdump, svnserve, svnsync, and svnversion
377 </seg>
378 <seg>
379 libsvn_*-1.so and optionally, a Java library, the mod_dav_svn.so and
380 mod_authz_svn.so <application>Apache HTTP</application> DSO
381 modules and various <application>Perl</application>,
382 <application>Python</application> and
383 <application>Ruby</application> modules.
384 </seg>
385 <seg>
386 /usr/include/subversion-1,
387 /usr/lib/perl5/site_perl/&lfs-perl-version;/{,auto/}SVN,
388 /usr/lib/python&python3-majorver;/site-packages/{libsvn,svn},
389 /usr/lib/ruby/site_ruby/&lt;x.y.z&gt;/{,&lt;arch-linux&gt;-linux/}svn,
390 /usr/lib/svn-javahl, and
391 /usr/share/doc/subversion-&subversion-version;
392 </seg>
393 </seglistitem>
394 </segmentedlist>
395
396 <variablelist>
397 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
398 <?dbfo list-presentation="list"?>
399 <?dbhtml list-presentation="table"?>
400
401 <varlistentry id="svn">
402 <term><command>svn</command></term>
403 <listitem>
404 <para>
405 is a command-line client program used to access
406 <application>Subversion</application> repositories
407 </para>
408 <indexterm zone="subversion svn">
409 <primary sortas="b-svn">svn</primary>
410 </indexterm>
411 </listitem>
412 </varlistentry>
413
414 <varlistentry id="svnadmin">
415 <term><command>svnadmin</command></term>
416 <listitem>
417 <para>
418 is a tool for creating, tweaking or repairing a
419 <application>Subversion</application> repository
420 </para>
421 <indexterm zone="subversion svnadmin">
422 <primary sortas="b-svnadmin">svnadmin</primary>
423 </indexterm>
424 </listitem>
425 </varlistentry>
426
427 <varlistentry id="svnbench">
428 <term><command>svnbench</command></term>
429 <listitem>
430 <para>
431 is a benchmarking tool
432 </para>
433 <indexterm zone="subversion svnbench">
434 <primary sortas="b-svnbench">svnbench</primary>
435 </indexterm>
436 </listitem>
437 </varlistentry>
438
439 <varlistentry id="svndumpfilter">
440 <term><command>svndumpfilter</command></term>
441 <listitem>
442 <para>
443 is a program for filtering <application>Subversion</application>
444 repository dumpfile format streams
445 </para>
446 <indexterm zone="subversion svndumpfilter">
447 <primary sortas="b-svndumpfilter">svndumpfilter</primary>
448 </indexterm>
449 </listitem>
450 </varlistentry>
451
452 <varlistentry id="svnfsfs">
453 <term><command>svnfsfs</command></term>
454 <listitem>
455 <para>
456 is the FSFS (FileSystem atop of the FileSystem -
457 <application>Subversion</application> filesystem implementation)
458 repository manipulation tool
459 </para>
460 <indexterm zone="subversion svnfsfs">
461 <primary sortas="b-svnfsfs">svnfsfs</primary>
462 </indexterm>
463 </listitem>
464 </varlistentry>
465
466 <varlistentry id="svnlook">
467 <term><command>svnlook</command></term>
468 <listitem>
469 <para>
470 is a tool for inspecting a <application>Subversion</application>
471 repository
472 </para>
473 <indexterm zone="subversion svnlook">
474 <primary sortas="b-svnlook">svnlook</primary>
475 </indexterm>
476 </listitem>
477 </varlistentry>
478
479 <varlistentry id="svnmucc">
480 <term><command>svnmucc</command></term>
481 <listitem>
482 <para>
483 is a Multiple URL Command Client for <application>Subversion</application>
484 </para>
485 <indexterm zone="subversion svnmucc">
486 <primary sortas="b-svnmucc">svnmucc</primary>
487 </indexterm>
488 </listitem>
489 </varlistentry>
490
491 <varlistentry id="svnrdump">
492 <term><command>svnrdump</command></term>
493 <listitem>
494 <para>
495 is a tool for dumping or loading a remote
496 <application>Subversion</application> repository
497 </para>
498 <indexterm zone="subversion svnrdump">
499 <primary sortas="b-svnrdump">svnrdump</primary>
500 </indexterm>
501 </listitem>
502 </varlistentry>
503
504 <varlistentry id="svnserve">
505 <term><command>svnserve</command></term>
506 <listitem>
507 <para>
508 is a custom standalone server program, able to run as a daemon
509 process or invoked by SSH
510 </para>
511 <indexterm zone="subversion svnserve">
512 <primary sortas="b-svnserve">svnserve</primary>
513 </indexterm>
514 </listitem>
515 </varlistentry>
516
517 <varlistentry id="svnsync">
518 <term><command>svnsync</command></term>
519 <listitem>
520 <para>
521 is a <application>Subversion</application> repository
522 synchronisation tool
523 </para>
524 <indexterm zone="subversion svnsync">
525 <primary sortas="b-svnsync">svnsync</primary>
526 </indexterm>
527 </listitem>
528 </varlistentry>
529
530 <varlistentry id="svnversion">
531 <term><command>svnversion</command></term>
532 <listitem>
533 <para>
534 is used to report the version number and state of a working
535 <application>Subversion</application> repository copy
536 </para>
537 <indexterm zone="subversion svnversion">
538 <primary sortas="b-svnversion">svnversion</primary>
539 </indexterm>
540 </listitem>
541 </varlistentry>
542
543 <varlistentry id="libsvn_star-1">
544 <term><filename class="libraryfile">libsvn_*-1.so</filename></term>
545 <listitem>
546 <para>
547 are the support libraries used by the
548 <application>Subversion</application> programs
549 </para>
550 <indexterm zone="subversion libsvn_star-1">
551 <primary sortas="c-libsvn_star-1">libsvn_*-1.so</primary>
552 </indexterm>
553 </listitem>
554 </varlistentry>
555
556 <varlistentry id="mod_authz_svn">
557 <term><filename class="libraryfile">mod_authz_svn.so</filename></term>
558 <listitem>
559 <para>
560 is a plug-in module for the <application>Apache</application> HTTP
561 server, used to authenticate users to a
562 <application>Subversion</application> repository over the Internet
563 or an intranet
564 </para>
565 <indexterm zone="subversion mod_authz_svn">
566 <primary sortas="c-mod_authz_svn">mod_authz_svn.so</primary>
567 </indexterm>
568 </listitem>
569 </varlistentry>
570
571 <varlistentry id="mod_dav_svn">
572 <term><filename class="libraryfile">mod_dav_svn.so</filename></term>
573 <listitem>
574 <para>
575 is a plug-in module for the <application>Apache</application> HTTP
576 server, used to make a <application>Subversion</application>
577 repository available to others over the Internet or an intranet
578 </para>
579 <indexterm zone="subversion mod_dav_svn">
580 <primary sortas="c-mod_authz_svn">mod_dav_svn.so</primary>
581 </indexterm>
582 </listitem>
583 </varlistentry>
584
585 </variablelist>
586
587 </sect2>
588
589</sect1>
Note: See TracBrowser for help on using the repository browser.