Subversion-1.14.3

Introduksjon til Subversion

Subversion er et versjonskontrollsystem som er designet for å være en overbevisende erstatning for CVS i åpen kildekode fellesskapet. Det utvider og forsterker CVS' funksjonssett, samtidig som det opprettholder et lignende grensesnitt for de som allerede er kjent med CVS. Disse instruksjonene installerer klient- og serverprogramvaren som brukes til manipulere et Subversion depot. Opprettelse av et depot er dekket i Kjøre en Subversion Server.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.1 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://archive.apache.org/dist/subversion/subversion-1.14.3.tar.bz2

  • Nedlasting MD5 sum: 19756a5ceb32a022698a66e48616ef6b

  • Nedlastingsstørrelse: 8.2 MB

  • Estimert diskplass som kreves: 193 MB (legg til 189 MB for bindinger, 54 MB for dokumenter, 1,3 GB for tester)

  • Estimert byggetid: 0.5 SBU (Bruker parallellisme=4; legg til 2.0 SBU for bindinger, 30 SBU for tester)

Subversion Avhengigheter

Påkrevd

Apr-Util-1.6.3 og SQLite-3.45.1

Anbefalt

Valgfri

Apache-2.4.58, Boost-1.84.0, Cyrus SASL-2.1.28, dbus-1.14.10, Doxygen-1.10.0 (for å generere HTML dokumentasjon), gnome-keyring-42.1, libsecret-0.21.3, Py3c-1.4 (for python bindinger og tester), Python-3.12.2 (med sqlite støtte for testene), Ruby-3.3.0, SWIG-4.2.0 (for å bygge Perl, Python og Ruby bindinger), LZ4, og UTF8proc

Valgfri (for Java bindinger)

En av OpenJDK-21.0.2, Dante eller Jikes, JUnit 4 (for å teste Java bindingene) og apache-ant-1.10.14.

Installasjon av Subversion

Først må du tilpasse noen Python skript for å bruke python3:

grep -rl '^#!.*python$' | xargs sed -i '1s/python/&3/'

Tilpass deretter Ruby bindingene til Ruby-3.2 eller senere:

sed -e 's/File.exists?/File.exist?/'               \
    -i subversion/bindings/swig/ruby/svn/util.rb   \
       subversion/bindings/swig/ruby/test/test_wc.rb

Installer Subversion ved å kjøre følgende kommandoer:

PYTHON=python3                        \
./configure --prefix=/usr             \
            --disable-static          \
            --with-apache-libexecdir  \
            --with-lz4=internal       \
            --with-utf8proc=internal &&
make

Hvis du har Doxygen-1.10.0 installert og du ønsker å bygge API dokumentasjon, kjør:

doxygen doc/doxygen.conf

Hvis du ønsker å bygge Java bindingene, send --enable-javahl parameteren til configure kommandoen. I tillegg, hvis du vil kjøre Java testpakken, må du spesifisere plasseringen av JUnit filen ved å legge til --with-junit=<path to junit jar> (for eksempel --with-junit=/usr/local/java/lib/junit-4.13.jar) til configure. JUnit jar filen er ikke lenger inkludert i apache-ant-1.10.14 og må lastes ned for seg selv. For å bygge Java bindingene, kjør følgende kommando:

make -j1 javahl

Hvis du vil kompilere Perl, Python, eller Ruby bindinger, kjør en av følgende kommandoer:

make swig-pl # for Perl
make swig-py \
     swig_pydir=/usr/lib/python3.12/site-packages/libsvn \
     swig_pydir_extra=/usr/lib/python3.12/site-packages/svn # for Python
make swig-rb # for Ruby

For å teste resultatene, kjør: make check. Fire tester i commit_tests.py, prop_tests.py, og update_tests.py pakkene er kjent for å mislykkes. På grunn av endringer i Python-3.12, kan du forvente å se rundt 200 syntaksadvarsler under testpakken på grunn av ugyldige escape sekvenser.

For å teste resultatene av noen av SWIG bindinger, kan du bruke en av følgende kommandoer: make check-swig-pl, make check-swig-py, or make check-swig-rb.

Nå, som root bruker:

make install &&

install -v -m755 -d /usr/share/doc/subversion-1.14.3 &&
cp      -v -R doc/* /usr/share/doc/subversion-1.14.3

Hvis du bygde Java bindingene, kjør følgende kommando som root brukeren for å installere dem:

make install-javahl

Hvis du bygde Perl, Python, eller Ruby bindinger, kjør noe av de følgende kommandoer som root bruker for å installere dem:

make install-swig-pl
make install-swig-py \
      swig_pydir=/usr/lib/python3.12/site-packages/libsvn \
      swig_pydir_extra=/usr/lib/python3.12/site-packages/svn
make install-swig-rb

Java bindingene må installeres for at testene skal kjøre, siden testene prøver å se etter dem i CLASSPATH. For å teste resultater av Java bindingsbygget, kjør LANG=C make check-javahl.

Parameterforklaringer

--disable-static: Denne bryteren forhindrer installasjon av statiske versjoner av bibliotekene.

--with-apache-libexecdir: Hvis Apache-2.4.58 er installert, de delte Apache moduler blir bygget. Denne bryteren gjør det mulig å installere disse modulene i Apache sin konfigurert modul mappe i stedet for /usr/libexec. Det har ingen effekt hvis Apache ikke er installert.

--with-lz4=internal --with-utf8proc=internal: Fjern disse bryterne hvis du har installert de valgfrie avhengighetene.

--enable-javahl: muliggjør kompilering av Java høynivå bindinger. Kjøre make javahl er nødvendig å gjøre kompilasjonen.

--with-junit=<location of the junit jar file>: gir plasseringen av junit jar, ellers kan javahl testene ikke bli kjørt.

--disable-gmock: Ikke bruk Googlemock testing rammeverk.

Konfigurere Subversion

Konfigurasjonsfiler

~/.subversion/config og /etc/subversion/config

Konfigurasjonsinformasjon

/etc/subversion/config er Subversion systemomfattende konfigurasjonsfil. Denne filen brukes til å spesifisere standarder for forskjellige svn kommandoer.

~/.subversion/config er brukerens personlige konfigurasjonsfil. Den brukes til å overstyre standardinnstillingene for hele systemet i /etc/subversion/config.

Innhold

Installerte Programmer: svn, svnadmin, svnbench, svndumpfilter, svnfsfs, svnlook, svnmucc, svnrdump, svnserve, svnsync, og svnversion
Installerte Biblioteker: libsvn_*-1.so og valgfritt, et Java bibliotek, mod_dav_svn.so og mod_authz_svn.so Apache HTTP DSO moduler og diverse Perl, Python og Ruby moduler.
Installerte Mapper: /usr/include/subversion-1, /usr/lib/perl5/site_perl/5.38/{,auto/}SVN, /usr/lib/python3.12/site-packages/{libsvn,svn}, /usr/lib/ruby/site_ruby/<x.y.z>/{,<arch-linux>-linux/}svn, /usr/lib/svn-javahl, og /usr/share/doc/subversion-1.14.3

Korte Beskrivelser

svn

er et kommandolinjeklientprogram som brukes til å få tilgang til Subversion depoter

svnadmin

er et verktøy for å lage, justere eller reparere et Subversion depot

svnbench

er et referanseverktøy

svndumpfilter

er et program for filtrering av Subversion depot dumpfile format strømmer

svnfsfs

er FSFS (FileSystem atop of the FileSystem - Subversion filsystemimplementering) verktøy for depot manipulering

svnlook

er et verktøy for å inspisere et Subversion depot

svnmucc

er en Multiple URL Command Client for Subversion

svnrdump

er et verktøy for å dumpe eller laste et eksternt Subversion depot

svnserve

er et tilpasset frittstående serverprogram, i stand til å kjøre som en nisse prosess eller påberopt av SSH

svnsync

er Subversion depot synkroniseringsverktøy

svnversion

brukes til å rapportere versjonsnummeret og tilstanden til en fungerende Subversion depot kopi

libsvn_*-1.so

er støttebibliotekene som brukes av Subversion programmer

mod_authz_svn.so

er et programtilleggmodul for Apache HTTP server, brukes til å autentisere brukere til et Subversion depot over Internett eller et intranett

mod_dav_svn.so

er et programtilleggmodul for Apache HTTP server, brukes for å gjøre et Subversion depot tilgjengelig for andre over Internett eller et intranett