source: general/prog/subversion.xml@ dcd5a063

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 dcd5a063 was dcd5a063, checked in by Bruce Dubbs <bdubbs@…>, 6 months ago

Archive Berkeley DB

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