como criar e usar um servidor subversion (svn)

14
Como criar e usar um servidor Subversion (SVN) Ricardo Brito do Nascimento 28 de maio de 2008 Resumo Subversion é um software muito usado para controle de versões de sistemas. Muitas vezes desenvolvemos um projeto e precisamos ter um bom controle do seu versionamento, nesse caso o svn é uma ferramenta muito interessante. Introdução  Nesse docum ento estão des critas algumas man eiras de configura r um servidor svn e a lguns comandos úteis para usá-lo. Os pacotes necessários para a instalação e configuração são os seguintes: httpd [ou apache ou apache2 (depende da distribuição)] subversion mod_dav_svn [ou subversion-server ou libapache2-svn (depende da distribuição)] Partiremos do princípio que os pacotes do httpd já estejam instalados na máquina que será o servidor svn. Para outras informações úteis sobre svn temos "Apresentaçã o da Ferramenta de Versionamento" e "Comandos úteis". 1. Site oficial http:// subversio n.tigri s.org/ 2. Instalando os pacotes svn Como o yum calcula as dependência s automaticamente, podemos iniciar com o módulo para o protocolo httpd (apache), que o servidor svn será juntamente instalado. # yum -y install mod_dav_svn Resolved ============ ======================================= Package Arch Version Repository Size ============ ======================================= Installing: mod_dav_svn i386 1.4.2-2.fc6 updates 70 k subversion i386 1.4.2-2.fc6 updates 2.3 M Transaction Summary

Upload: ricardo-brito-do-nascimento

Post on 10-Jul-2015

476 views

Category:

Documents


0 download

DESCRIPTION

Subversion é um software muito usado para controle de versões de sistemas. Muitas vezes desenvolvemos um projeto e precisamos ter um bom controle do seu versionamento, nesse caso o svn é uma ferramenta muito interessante.

TRANSCRIPT

Page 1: Como criar e usar um servidor Subversion (SVN)

5/10/2018 Como criar e usar um servidor Subversion (SVN) - slidepdf.com

http://slidepdf.com/reader/full/como-criar-e-usar-um-servidor-subversion-svn 1/14

 

Como criar e usar um servidor Subversion (SVN)  

Ricardo Brito do Nascimento

28 de maio de 2008

Resumo Subversion é um software muito usado para controle de versões de sistemas. Muitas vezes desenvolvemosum projeto e precisamos ter um bom controle do seu versionamento, nesse caso o svn é uma ferramentamuito interessante.

Introdução

 Nesse documento estão descritas algumas maneiras de configurar um servidor svn e alguns comandosúteis para usá-lo.

Os pacotes necessários para a instalação e configuração são os seguintes:

• httpd [ou apache ou apache2 (depende da distribuição)]• subversion• mod_dav_svn [ou subversion-server ou libapache2-svn (depende da distribuição)]

Partiremos do princípio que os pacotes do httpd já estejam instalados na máquina que será o servidor svn.

Para outras informações úteis sobre svn temos "Apresentação da Ferramenta de Versionamento" e"Comandos úteis".

1. Site oficial

• http://subversion.tigris.org/

2. Instalando os pacotes svn

Como o yum calcula as dependências automaticamente, podemos iniciar com o módulo para o protocolohttpd (apache), que o servidor svn será juntamente instalado.

# yum -y install mod_dav_svn 

Resolved===================================================Package Arch Version Repository Size

===================================================Installing:mod_dav_svn i386 1.4.2-2.fc6 updates 70 ksubversion i386 1.4.2-2.fc6 updates 2.3 M

Transaction Summary

Page 2: Como criar e usar um servidor Subversion (SVN)

5/10/2018 Como criar e usar um servidor Subversion (SVN) - slidepdf.com

http://slidepdf.com/reader/full/como-criar-e-usar-um-servidor-subversion-svn 2/14

 

===================================================Install 2 Package(s)Update 0 Package(s)Remove 0 Package(s)

3. Criar um repositório svn no servidor

 Nos passos abaixo usaremos um repositório chamado /var/svn, mas se desejar criá-lo em/home/usuário/svn, ou em qualquer outro local desejado, basta trocar /var/svn pelo qual será usado emseu servidor.

Antes de criar o repositório precisamos ter o diretório correspondente no sistema, por isso, use ocomando abaixo para criá-lo:

# mkdir /var/svn 

Agora vamos executar o comando necessário para criar o repositório /svn, vale lembrar que o comandoabaixo deve ser executado em um diretório vazio, porém, já existente no sistema, pois o subversion iráapenas criar a estrutura necessária para o controle de versões, então execute o comando abaixo para tal

 procedimento:

# svnadmin create /var/svn 

Vale uma observação aqui, até a versão 1.1 do subversion, o tipo de repositório padrão era o BerkeleyDB, mas a partir da versão 1.2 o padrão passou a ser o FSFS. O suporte FSFS apareceu na versão 1.1. Na

1.0 apenas o Berkeley DB era suportado.

Para especificar o tipo do repositório pode-se usar o argumento --fs-type:

# svnadmin create --fs-type fsfs /var/svn;

ou

# svnadmin create --fs-type bdb /var/svn 

O repositório criado estará vazio e começará a contar a partir da revisão 0 (zero), a qual corresponderá àsua criação.

Para mais informações sobre o tipo do repositório acesse:

• http://svnbook.red-bean.com/nightly/en/svn.reposadmin.html

Page 3: Como criar e usar um servidor Subversion (SVN)

5/10/2018 Como criar e usar um servidor Subversion (SVN) - slidepdf.com

http://slidepdf.com/reader/full/como-criar-e-usar-um-servidor-subversion-svn 3/14

 

Customizando o servidor SVN

4. svnserve, um servidor customizado

O programa svnserve é um servidor leve, capaz de comunicar-se com clientes através de TCP/IPutilizando um protocolo customizado. Clientes podem contatar um servidor svnserve através de URLsiniciadas por svn:// ou svn+ssh://. Neste tópico iremos explorar as diferentes maneiras de executar osvnserve, como os clientes se autenticam com esse servidor e como configurar controles de acessosapropriados para seus repositórios.

4.1. Iniciando o servidor

Há algumas maneiras diferentes de iniciar o programa svnserve. Se iniciado sem opções, somente será

mostrado uma mensagem de ajuda. No entanto, se pretendemos que o inetd inicie o processo, então podemos passar a opção -i (--inetd):

$ svnserve -i ( success ( 1 2 ( ANONYMOUS ) ( edit-pipeline )) )

Quando iniciado com a opção --inetd, o svnserve espera comunicar-se com um cliente Subversionatravés da entrada e saída padrão (stdin e stout) utilizando um protocolo customizado, umcomportamento padrão para programas executados via inetd. A IANA (Internet Assigned Numbers

Authority) reservou a porta 3690 para o protocolo Subversion, então em um sistema UNIX podemosadicionar as seguintes linhas ao arquivo  /etc/services (se já não estiverem lá):

svn 3690/tcp # Subversionsvn 3690/udp # Subversion

E se o o sistema está usando um daemon inetd UNIX clássico, podemos adicionar esta linha ao /etc/inetd.conf  :

svn stream tcp nowait svnowner /usr/bin/svnserve svnserve -i

Certifique que o usuário "svnowner" tem permissões apropriadas para acesso aos repositórios. Agora,quando uma conexão de um cliente chegar ao servidor na porta 3690, o inetd irá iniciar um processo dosvnserve para atendê-la.

Uma segunda opção é rodar o svnserve como um "daemon" standalone. Para tal, utilize a opção -d:

$ svnserve -d

(svnserve agora está rodando, escutando a porta 3690)

Ao rodar o svnserve em modo daemon, você pode usar a opção --listen-port e --listen-host para

Page 4: Como criar e usar um servidor Subversion (SVN)

5/10/2018 Como criar e usar um servidor Subversion (SVN) - slidepdf.com

http://slidepdf.com/reader/full/como-criar-e-usar-um-servidor-subversion-svn 4/14

 

customizar a porta e hostname nos quais o "bind" será efetuado.

Há ainda uma terceira maneira para invocar o svnserve, em modo "tunelamento", com a opção -t. Estemodo assume que um programa de serviço remoto como RSH ou SSH autenticou com sucesso umusuário e está invocando um processo svnserve privado como aquele usuário.

O programa svnserve atua de maneira normal, assumindo que o tráfego está sendo automaticamenteredirecionado por algum tunelamento para o cliente. Quando o svnserve for invocado por um

tunelamento, como descrito, certifique-se de que o usuário autenticado tem permissão total de leitura eescrita no repositório.

É essencialmente o mesmo procedimento de um usuário local acessando o repositório através do métodofile:///. /> Autenticação e autorização integrada Quando um cliente se conecta a um processo svnserve, asseguintes situações acontecem:

• O cliente seleciona um repositório específico;• O servidor processa o arquivo conf/svnserve.conf e aplica quaisquer políticas de autenticação e

autorização lá definidas;•

Dependendo da situação e das políticas de autorização:1. o cliente pode ser autorizado a fazer requisições anonimamente, sem autenticação;2. o cliente deverá autenticar-se;3. se operando em modo de tunelamento, o cliente irá declarar que já foi autenticadoexternamente.

Até o momento, o svnserve só é compatível com o método de autenticação CRAM-MD5.Essencialmente, o servidor envia um pacote de dados ao cliente, que usa um algoritmo de hash MD5

 para criar uma assinatura dos dados e da senha combinados, e então a envia como resposta. O servidor calcula a assinatura em conjunto com a senha local para verificar que o resultado é idêntico. Em nenhum

momento a senha do usuário atravessa a rede.

Obviamente, também é possível que o cliente seja autenticado externamente através de um agente detunelamento, como o SSH. Neste caso, o servidor simplesmente examina o usuário com o qual estáexecutando e o utiliza para acessar o repositório.

Como você já deve ter desconfiado, o arquivo svnserve.conf de um repositório é o mecanismo central decontrole de autenticação e autorização. O arquivo tem o seguinte formato: seções são identificadas por colchetes - [], comentários são iniciados por cerquilha - #, e cada seção contém variáveis que podem ser ajustadas - variável = valor.

4.2. Criando um arquivo e domínio 'users'

Por ora, a seção [general] do arquivo svnserve.conf  contém todas as variáveis de nosso interesse. Definainicialmente um arquivo contendo usuários e senhas, bem como um domínio de autenticação:

[general]password-db = userfile

realm = domínio exemplo

O domínio é um nome definido pelo administrador que indica aos clientes o domínio de autenticação aoqual estão se conectando; o cliente Subversion mostra esse domínio no prompt de autenticação, e outiliza como uma chave (juntamente com o hostname do servidor e a porta) para fazer cache de

Page 5: Como criar e usar um servidor Subversion (SVN)

5/10/2018 Como criar e usar um servidor Subversion (SVN) - slidepdf.com

http://slidepdf.com/reader/full/como-criar-e-usar-um-servidor-subversion-svn 5/14

 

credenciais no disco. A variável password-db aponta para um arquivo em separado que contém uma listade usuários e senhas, utilizando o mesmo formato. Por exemplo:

[users]joao = foopasswordmaria = barpassword

O valor de password-db pode ser qualquer caminho absoluto ou relativo de diretórios até o arquivo users.Para muitos administradores, é conveniente manter o arquivo dentro do diretório conf/ do repositório,

 juntamente com svnserve.conf.

Por outro lado, é possível que você deseje que dois ou mais repositórios compartilhem o mesmo arquivousers, caso em que o arquivo provavelmente deveria ficar em um local de acesso mais irrestrito. Osrepositórios compartilhando o arquivo users poderiam ainda ser configurados para ter o mesmo domínio,

 já que uma lista de usuários define essencialmente um domínio.

Qualquer que seja o diretório onde se encontra o arquivo, certifique-se de que as permissões de leitura eescrita estão ajustadas corretamente.

4.3. Ajuste de controle de acesso

Há ainda duas variáveis interessantes a serem ajustadas em svnserve.conf: elas determinam o queusuários não-autenticados (anônimos) e usuários autenticados poderão fazer no repositório. As variáveisanon-access e auth-access podem ser ajustadas para os valores none, read ou write. Ajustando o valor 

 para none restringe qualquer tipo de acesso; read permite acesso somente de leitura e write permiteacesso completo de leitura e escrita ao repositório. Por exemplo:

[general]password-db = userfilerealm = domínio exemplo

# usuários anônimos podem apenas ler do repositórioanon-access = read

# usuários autenticados podem ler e escreverauth-access = write

Essas configurações de exemplo são, de fato, os valores padronizados para as variáveis, caso não sejamdefinidas. Se você deseja ser ainda mais conservativo, você pode bloquear acesso anônimo por completo:

[general]password-db = userfilerealm = domínio exemplo

# usuários anônimos não são autorizadosanon-access = none

# usuários autenticados podem ler e escreverauth-access = write

Observe que o svnserve suporta apenas controle de acesso por usuário. Um usuário pode ou ter acesso

Page 6: Como criar e usar um servidor Subversion (SVN)

5/10/2018 Como criar e usar um servidor Subversion (SVN) - slidepdf.com

http://slidepdf.com/reader/full/como-criar-e-usar-um-servidor-subversion-svn 6/14

 

universal de leitura e escrita, acesso universal de leitura ou nenhum acesso. Não há controle detalhadosobre diretórios específicos do repositório, o que, para muitos projetos, é suficiente e adequado. Noentanto, se você necessita de controle de acesso por diretório, será necessário utilizar o mod_authz_svndo Apache (a ser visto no tópico seguinte), ou utilizar um hook pre-commit para controlar acesso deescrita.

O controle de acesso via tunelamento é bastante semelhante ao descrito anteriormente, mas, dada aespecificidade do tema, deixamos aqui o link do SVN Book que explica esse tópico em maior detalhe

aos alunos interessados nesse tipo de configuração:

• http://svnbook.red-bean.com/nightly/en/svn.serverconfig.svnserve.html

Configurando o apache para conexões http com

svn

5. Configurar o apache para conexões http com svn

O apache é usado porque além de ser o servidor http mais usual, através do módulo mod_dav_svn.so eleconsegue acessar um repositório svn e torná-lo acessível para clientes que usam o protocoloWebDAV? /DeltaV, (é o caso do comando svn, o qual veremos ainda neste documento), ele é umaextensão do protocolo HTTP.

Onde o arquivo de configuração, do subversion, é armazenado pode variar de distribuição paradistribuição. Por exemplo, ele pode estar tanto em /etc/httpd/conf.d/subversion.conf, como em/etc/apache/conf/conf.d/subversion.conf, ou até mesmo em outro diretório.

Muitas vezes é possível localizá-lo através do comando locate:

# locate subversion.conf

ou

# rpm -ql mod_dav_svn |grep subversion.conf

Por isso, neste documento, trataremos o arquivo de configuração apenas por:  subversion.conf  .

Vamos abordar duas formas de configuração, são elas:

• acesso irrestrito para leitura e escrita (sem senha)•

acesso irrestrito para leitura e acesso restrito para escrita (com senha)

Antes de tudo faça um backup do arquivo de configuração original:

Page 7: Como criar e usar um servidor Subversion (SVN)

5/10/2018 Como criar e usar um servidor Subversion (SVN) - slidepdf.com

http://slidepdf.com/reader/full/como-criar-e-usar-um-servidor-subversion-svn 7/14

 

# cp subversion.conf subversion.conf.orig

 No Fedora Core este arquivo já virá pré configurado, necessitando apenas completar alguns pontos dasconfigurações vista neste documento.

6. Ajustar o dono do svn

Como vamos configurar o apache para o gerenciamento do repositório, é importante configurarmos o seudono, pois estaremos lendo e escrevendo no svn através do protocolo HTTP.

Mude o dono do diretório /var/svn de root para apache:

# chown -R apache.apache /var/svn

Essa modificação é necessária para que o svn fique acessível via http. Caso o usuário root continuassecomo dono do diretório e dos demais arquivos, o apache não teria permissões para acessá-los. Emalgumas distribuições o usuário chama-se www ao invés de apache, verifique o nome do usuário doapache antes de executar esse comando.

7. Acesso irrestrito para leitura e escrita

Abaixo segue um exemplo de configuração do arquivo subversion.conf para o acesso sem senha. Use-o

caso deseje configurar um servidor svn sem senha.

# início do arquivo subversion.confLoadModule dav_svn_module modules/mod_dav_svn.soLoadModule authz_svn_module modules/mod_authz_svn.so<Location /var/svn>

DAV svnSVNPath /var/svn

  # desativar senhaSVNPathAuthz off

</Location>

8. Acesso irrestrito para leitura e acesso restrito para escrita

Abaixo segue um exemplo de configuração do arquivo subversion.conf para o acesso com senha. Use-ocaso deseje configurar um servidor svn com senha para escrita.

# início do arquivo subversion.conf

LoadModule dav_svn_module modules/mod_dav_svn.soLoadModule authz_svn_module modules/mod_authz_svn.so

<Location /var/svn>

Page 8: Como criar e usar um servidor Subversion (SVN)

5/10/2018 Como criar e usar um servidor Subversion (SVN) - slidepdf.com

http://slidepdf.com/reader/full/como-criar-e-usar-um-servidor-subversion-svn 8/14

 

DAV svnSVNPath /var/svn

  # autenticando um usuárioAuthType BasicAuthName "Subversion repository"AuthUserFile /etc/httpd/securety/svn-passwd

  # qualquer operação que não seja# leitura requer um usuario valido

LimitExcept GET PROPFIND OPTIONS REPORT>Require valid-user</LimitExcept>

</Location>

Mais informações sobre como configurar o arquivo subversion.conf.

9. Criar o arquivo de senha

Se o svn foi configurado com senha, como em um dos exemplos acima, será necessário criar o arquivo /etc/httpd/securety/svn-passwd  ou o correspondente da sua configuração, onde serão armazenados osusuários, os quais terão acesso de escrita no repositório /var/svn e suas respectivas senhas.

Ele pode ser criado por meio do seguinte comando:

# htpasswd -c /etc/httpd/securety/svn-passwd user

O comando acima cria o arquivo /etc/httpd/securety/svn-passwd e pede que a senha do usuário user sejainformada.

Para adicionar um novo usuário pode-se usar o comando abaixo:

# htpasswd /etc/httpd/securety/svn-passwd brito

O usuário digita a senha e o arquivo é automaticamente atualizado.

Ou o usuário executa o seguinte comando:

# htpasswd -n britoNew password:Re-type new password:brito:QVZvldBtl6gZw

Envia o resultado do comando (em azul) para o administrador do svn e ele inclui o usuário e a suarespectiva senha no arquivo correspondente.

Page 9: Como criar e usar um servidor Subversion (SVN)

5/10/2018 Como criar e usar um servidor Subversion (SVN) - slidepdf.com

http://slidepdf.com/reader/full/como-criar-e-usar-um-servidor-subversion-svn 9/14

 

10. Tornar o svn disponível no apache

Para efetivar as configurações e tornar o svn acessível através da url: http://nome_do_servidor/svn, precisamos iniciar o apache caso ele esteja parado ou reiniciá-lo, se ele já estiver sendo executado namáquina.

O comando abaixo reinicia o apache estando ele ligado ou desligado:

# service httpd stop && service httpd start; ou# service httpd restart; ou# /etc/init.d/httpd restart

Observe que o comando pode ser diferente dependendo da distribuição que estiver sendo usada, ou seja,ao invés de httpd pode ser apache ou até mesmo apache2.

Agora o seu repositório svn já pode ser acessado, usando um navegador qualquer, através do endereço:

http://servidor/svn

Se o servidor svn foi configurado em sua rede, em casa, e não há nenhum dns configurado, pararesponder pelos nomes das máquinas, pode-se usar apenas o ip do servidor:

http://ip_do_servidor/svn

Alguns comandos úteis para manusear projetos no svn configurado.

Após criarmos um repositório svn é interessante conhecermos alguns comandos que possibilitam omanuseio desta ferramenta.

Se uma das variáveis de ambiente $SVN_EDITOR, $VISUAL ou $EDITOR não estiverem definidas, provavelmente uma mensagem de erro, semelhante a que segue abaixo, será exibida ao tentar efetuar uma alteração no svn.

svn: Could not use external editor to fetch log message; consider setting the $SVN_EDITOR environment variable or using the --message (-m) or --file (-F) options svn: None of the environmentvariables SVN_EDITOR, VISUAL or EDITOR is set, and no 'editor-cmd' run-time configuration optionwas found

Para definir o editor de texto padrão, o qual será usado para escrever os logs dos commits, pode-se usar aseguinte linha de comando:

# export SVN_EDITOR='vim'

Acima definimos que o editor padrão será o vim.

* Para que todos os usuários tenham essa variável configurada, basta adicionar a linha de comando

Page 10: Como criar e usar um servidor Subversion (SVN)

5/10/2018 Como criar e usar um servidor Subversion (SVN) - slidepdf.com

http://slidepdf.com/reader/full/como-criar-e-usar-um-servidor-subversion-svn 10/14

 

acima no arquivo /etc/profile. Criar um diretório no svn.

Antes de adicionarmos um projeto em nosso repositório precisamos criar o diretório onde ele ficaráarmazenado. Pode-se fazer isso através do seguinte comando:

# svn mkdir http://servidor/svn/projeto 

Gerenciando projetos e arquivos no svn

11. Importar um projeto para o svn

Algumas vezes já temos um projeto em algum canto de nossa máquina. Importe-o para o svn usando alinha de comando abaixo:

# svn import /tmp/projeto http://servidor/svn/projeto

O comando acima importará todos os arquivos do diretório /tmp/projeto para o repositório projeto emhttp://servidor/svn/

Uma outra maneira de executar o procedimento acima é acessar o diretório e então importá-lo para osvn:

# cd /tmp/projeto# svn import http://servidor/svn/projeto 

12. Baixar um projeto do svn

Quando for preciso efetuar modificações em um projeto que já está no svn, antes é preciso fazer ocheckout, ou seja, efetuar o download dos arquivos correspondentes ao projeto.

Efetuando o checkout:

# svn co http://servidor/svn/projeto 

13. Efetivar alterações em um projeto do svn

Depois de concluídas as modificações necessárias precisamos colocar a nova revisão do projeto no svn, para isso precisamos efetuar um commit (check in).

De dentro do diretório principal do projeto efetue o commit:

# svn commitou# svn ci 

Page 11: Como criar e usar um servidor Subversion (SVN)

5/10/2018 Como criar e usar um servidor Subversion (SVN) - slidepdf.com

http://slidepdf.com/reader/full/como-criar-e-usar-um-servidor-subversion-svn 11/14

 

14. Listar arquivos de um projeto

Depois de efetuar várias mudanças em um projeto baixado do svn, é importante poder listar o seuconteúdo e saber quais arquivos estão armazenados e quais não estão no seu respectivo repositório nosvn.

Para isso, execute o seguinte comando no diretório principal do projeto:

# svn list

15. Adicionar arquivos a um projeto

 No decorrer de um projeto novos arquivos surgem e precisam ser adicionados no repositório svn.

Para efetuar essa operação pode-se usar o seguinte comando:

# svn add projeto.c

Quando o commit for efetuado, o arquivo projeto.c será adicionado à árvore correspondente do projetoem que estava trabalhando.

Remover arquivos de um projeto:

A medida que arquivos vão sendo incluso no projetos, há a necessidade de excluir alguns.

Use o seguinte comando para efetuar tal operação:

# svn rm projeto.c 

É possível remover um projeto inteiro do svn, para isto basta executar:

# svn rm http://servidor/svn/projeto

Quando o commit for efetuado, o arquivo projeto.c será removido da árvore onde ele era armazenado ena nova revisão ele não fará mais parte do projeto.

16. Verificar as alterações antes de efetuar um commit

 Na maioria das vezes é interessante, antes de efetuar o commit, verificar quais são as modificações.

Para isso usamos o svn diff. Porém, se existirem muitas modificações, é preciso jogar a saída docomando para um editor de texto, sendo no Linux, assim, possível analisar todo o diff gerado.

Executando apenas o svn diff:

Page 12: Como criar e usar um servidor Subversion (SVN)

5/10/2018 Como criar e usar um servidor Subversion (SVN) - slidepdf.com

http://slidepdf.com/reader/full/como-criar-e-usar-um-servidor-subversion-svn 12/14

 

# svn diff

Jogando a saída para um editor de texto, no caso o vim (Sistemas Operacionais Unix Like):

# svn diff | vim -

Lembrando que o comando acima mostra as diferenças do diretório onde foi executado e o seucorrespondente no svn. Para verificar todas as modificações de um projeto, basta executá-lo na raiz

 principal dele.

17. Verificar o log de um projeto

Muitas vezes esquecemos o que fizemos, por isso, ao efetuar um commit o svn sempre pede uma

mensagem para ser adicionada ao log do projeto.

Para verificar os logs de um determinado projeto: efetue o checkout dele, acesse o diretório onde ele foi baixado e execute o seguinte comando:

# svn log 

18. Obter ajuda dos próprios comandos

Para verificar os comandos disponíveis use:

# svn help 

Uma série de comandos, possíveis, será listada. Para obter informações sobre um comando em específicouse:

# svn comando --help 

20. Obter Status

# svn st

Legenda:

• U - o arquivo foi "Updated" (atualizado) a partir do servidor;• A - o arquivo ou diretório foi "Added" (adicionado) à sua working copy;• D - o arquivo ou diretório foi "Deleted" (deletado) da sua working copy;• R - o arquivo ou diretório foi "Replaced" (substituído) em sua working copy, ou seja, um

elemento foi deletado e posteriormente outro com o mesmo nome foi adicionado; embora tenham

Page 13: Como criar e usar um servidor Subversion (SVN)

5/10/2018 Como criar e usar um servidor Subversion (SVN) - slidepdf.com

http://slidepdf.com/reader/full/como-criar-e-usar-um-servidor-subversion-svn 13/14

 

o mesmo nome o repositório consegue percebê-los como arquivos diferentes;• G - o arquivo no servidor recebeu alterações, mas sua cópia local tinha as suas modificações; ou

as alterações não interceptavam ou eram idênticas às suas, então o Subversion conseguiu colocá-las em estado de "merGed" (união) sem problemas;

• C - o arquivo recebeu alterações "Conflicting" (conflitantes) com as suas, ou seja, na mesmaseção do arquivo; trataremos deste caso mais adiante.

Dicas adicionais e bibliografia 

21. Clientes gráficos

21.1. Interface gráfica de usuário (GUI) para SVN

• RapidSVN fachada multi-plataforma em ambiente gráfico de utilizador escrita em C++ erecorrendo à biblioteca wxWidgets

• eSvn cliente baseado na biblioteca Qt• JSVN cliente Java swing• SmartSVN Cliente SubVersion para Linux, Windows e MAC• TortoiseSVN Windows shell (i.e. Explorer) extension• svnX MacOS X GUI front-end to svn• AnkhSVN Windows é uma extensão (addon) do Visual Studio .NET - Permite que as ações mais

comuns sejam executadas diretamente da IDE.

21.2. Projetos Alternativos para SVN

• subclipse projecto de software livre de integração do Subversion no Eclipse• JavaSVN projecto de software livre para criação de uma biblioteca de cliente Subversion 100%

 java• Subversion for MacOS X

22. Bibliografia

• http://www.dicas-l.com.br/dicas-l/20050909.php• http://pt.wikipedia.org/wiki/Subversion• http://en.wikipedia.org/wiki/Subversion

Page 14: Como criar e usar um servidor Subversion (SVN)

5/10/2018 Como criar e usar um servidor Subversion (SVN) - slidepdf.com

http://slidepdf.com/reader/full/como-criar-e-usar-um-servidor-subversion-svn 14/14

 

Atualizações

28/05/2008;

 publicado também em http://www.vivaolinux.com.br/artigo/Configurando-Subversion