Subversion-1.14.5

Introdução ao Subversion

"Subversion" é um sistema de controle de versão que foi projetado para ser um substituto atraente para o "CVS" na comunidade de fonte aberto. Ele amplia e aprimora o conjunto de recursos do "CVS", enquanto mantém uma interface semelhante para aqueles(as) já familiarizados(as) com o "CVS". Estas instruções instalam o logiciário cliente e servidor usado para manipular um repositório "Subversion". A criação de um repositório é abordada em Executando um Servidor "Subversion".

Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.3.

Informação do Pacote

  • Transferência (HTTP): https://archive.apache.org/dist/subversion/subversion-1.14.5.tar.bz2

  • Transferência (FTP):

  • Soma de verificação MD5 da transferência: af6001dc7af2f1242a4f72e8a5c565d2

  • Tamanho da transferência: 8,3 MB

  • Espaço em disco estimado exigido: 260 MB (adicionar 189 MB para ligações, 54 MB para documentos, 1,3 GB para testes)

  • Tempo de construção estimado: 1,5 UPC (Usando paralelismo=4; adicionar 2,0 UPC para ligações, 30 UPC para testes)

Dependências do Subversion

Exigidas

Apr-Util-1.6.3 e SQLite-3.49.1

Recomendadas

Opcionais

Apache-2.4.63, Boost-1.87.0, Cyrus SASL-2.1.28, dbus-1.16.0, Doxygen-1.13.2 (para gerar documentação HTML), gnome-keyring-46.2, libsecret-0.21.6, Py3c-1.4 (para as ligações Python, e testes), Python-3.13.2 (com suporte a sqlite para os testes), Ruby-3.4.2, SWIG-4.3.0 e UTF8proc

Opcionais (para as ligações Java)

Um de OpenJDK-23.0.2, Dante ou Jikes; JUnit 4 (para testar as ligações "Java") e apache-ant-1.10.15.

Instalação do Subversion

Instale Subversion executando os seguintes comandos:

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

Se você tiver "Doxygen-1.13.2" instalado e desejar construir a documentação da "API", emita:

doxygen doc/doxygen.conf

Se você deseja construir as ligações Java, [então] passe o parâmetro "--enable-javahl" para o comando "configure". Além disso, se desejar executar a suíte de teste "Java", [então] você tem de especificar o local do arquivo "JUnit" adicionando "--with-junit=<caminho para o jar junit>" (por exemplo "--with-junit=/usr/local/java/lib/junit-4.13.jar") para o "configure". O arquivo "jar" do "JUnit" não mais está incluído em "apache-ant-1.10.15" e precisa ser baixado separadamente. Para construir as ligações "Java", emita o seguinte comando:

make -j1 javahl

Se tu desejar compilar ligações "Perl", "Python" ou "Ruby", [então] emita algum dos seguintes comandos:

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

Para testar os resultados, emita: make check.

Para testar os resultados de quaisquer das ligações "SWIG", você pode usar algum dos seguintes comandos: "make check-swig-pl", "make check-swig-py" ou "make check-swig-rb".

Agora, como o(a) usuário(a) root:

make install &&

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

Se você construiu as ligações "Java", [então] emita o seguinte comando como o(a) usuário(a) "root" para instalá-las:

make install-javahl

Se você construiu as ligações "Perl", "Python" ou "Ruby", [então] emita algum dos seguintes comandos como o(a) usuário(a) "root" para instalá-las:

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

As ligações "Java" precisam ser instaladas para a finalidade de que os testes executem, pois os testes tentam procurá-las em "CLASSPATH". Para testar os resultados da construção de ligações "Java", emita "LANG=C make check-javahl".

Explicações do Comando

--disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas.

--with-apache-libexecdir: Se o "Apache-2.4.63" estiver instalado, [então] os módulos compartilhados do "Apache" serão construídos. Essa chave permite ter esses módulos instalados no diretório configurado de módulo do "Apache" em vez do "/usr/libexec". Ela não tem efeito se o "Apache" não estiver instalado.

--with-utf8proc=internal: Remova essas chaves se você tiver instalado as dependências opcionais.

--enable-javahl: habilita a compilação de ligações de alto nível "Java". Executar "make javahl" é necessário para fazer a compilação.

--with-junit=<local do arquivo "jar" do "JUnit">: dá o local do "jar" do "JUnit"; caso contrário, os testes "javahl" não poderão ser executados.

--disable-gmock: Não use a estrutura de testes "Googlemock".

Configurando o Subversion

Arquivos de Configuração

~/.subversion/config e /etc/subversion/config

Informação de Configuração

/etc/subversion/config é o arquivo de configuração do "Subversion" abrangente ao sistema. Esse arquivo é usado para especificar padrões para diferentes comandos "svn".

~/.subversion/config é o arquivo de configuração pessoal do(a) usuário(a). Ele é usado para substituir os padrões de todo o sistema configurados em "/etc/subversion/config".

Conteúdo

Aplicativos Instalados: svn, svnadmin, svnbench, svndumpfilter, svnfsfs, svnlook, svnmucc, svnrdump, svnserve, svnsync e svnversion
Bibliotecas Instaladas: libsvn_*-1.so e, opcionalmente, uma biblioteca Java; os módulos DSO mod_dav_svn.so e mod_authz_svn.so do Apache HTTP e vários módulos Perl, Python e Ruby.
Diretórios Instalados: /usr/include/subversion-1, /usr/lib/perl5/site_perl/5.40/{,auto/}SVN, /usr/lib/python3.13/site-packages/{libsvn,svn}, /usr/lib/ruby/site_ruby/<x.y.z>/{,<arch-linux>-linux/}svn, /usr/lib/svn-javahl e /usr/share/doc/subversion-1.14.5

Descrições Curtas

svn

é um aplicativo cliente de linha de comando usado para acessar repositórios do "Subversion"

svnadmin

é uma ferramenta para criar, ajustar ou reparar um repositório "Subversion"

svnbench

é uma ferramenta de avaliação comparativa

svndumpfilter

é um aplicativo para filtrar fluxos de formato de arquivo de despejo do repositório "Subversion"

svnfsfs

é a ferramenta de manipulação de repositório "FSFS" ("FileSystem sobre o FileSystem" - implementação do sistema de arquivos do "Subversion")

svnlook

é uma ferramenta para inspecionar um repositório "Subversion"

svnmucc

é um cliente de comando de múltiplas "URLs" para o "Subversion"

svnrdump

é uma ferramenta para despejar ou carregar um repositório remoto do "Subversion"

svnserve

é um aplicativo servidor independente personalizado, capaz de executar como um processo de segundo plano ou invocado por "SSH"

svnsync

é uma ferramenta de sincronização de repositório "Subversion"

svnversion

é usado para informar o número da versão e o estado de uma cópia funcional do repositório "Subversion"

libsvn_*-1.so

são as bibliotecas de suporte usadas pelos aplicativos do "Subversion"

mod_authz_svn.so

é um módulo "plug-in" para o servidor "HTTP" "Apache", usado para autenticar usuários(as) em um repositório "Subversion" por intermédio da Internet ou na intranet

mod_dav_svn.so

é um módulo "plug-in" para o servidor "HTTP" "Apache", usado para disponibilizar um repositório "Subversion" para outros(as) por intermédio da Internet ou de uma intranet