São eles:
http://www.leoserra.uaivip.com.br/leonix/documentacao/subversion-usando.html
http://www.ronaldorigoni.com.br/instalar-subversion-e-apache-ubuntu/
ensinar como usar o Subversion para fazer controle de versão.
O que é Subversion?
O objetivo do projeto Subversion é construir um sistema de controle de versão que seja um substituto para o CVS. O Subversion é liberado sob a licença Apache/BSD-style.
Com o controle de versões podemos gravar o histórico de todos os nossos arquivos. Por exemplo às vezes são criados problemas quando o logicial é modificado, e o programador pode detectar isto muito tempo depois da modificação, acarretando um problema grave para descobrir onde aconteceu tal falha. Com o controle de versões podemos restaurar facilmente as versões antigas para ver exatamente qual mudança gerou tal problema.
Poderíamos, é claro, guardar todas as versões de todos os arquivos que criamos sem a ajuda de uma ferramenta de controle de versão. Porém, além do desperdício de um espaço considerável em disco, o Subversion armazena todas as versões de uma forma inteligente, guardando apenas as diferenças entre as versões. O que é muito mais vantajoso.
Podemos realizar o controle de versão para todo tipo de arquivo. Não apenas para arquivos de codigo fonte, mas qualquer tipo de arquivo, incluindo arquivos binarios.
Instalação e configuração:
#
apt-get
install
subversion libapache2-svn apache2
Após o processo terminar, precisamos habilitar o modulo webdav na configuração do apache.
#
vi
/etc/apache2/mods-enabled/dav_svn.conf
O linha onde diz é onde o diretório raiz de repositórios onde o subversion estará escutando quando for acessado http://meuhost/svn , deixe ela com a configuração abaixo, se a mesma estiver com um comentário remova.
Agora precisamos habilitar o modulo dav, descomente a linha abaixo.
DAV svn
O SVNParentPath é onde será o diretório padão de repositórios, indicado quando vc usará mais de um repositório, descomente a linha abaixo:
SVNParentPath /var/lib/svn
Agora necessitamos habilitar a autenticaçao, utilizaremos o modo basic que é baseado em arquivo, para isso descomente as linhas abaixo:
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/dav_svn.
passwd
Antes de salvar o arquivo e fecha-lo, não esqueça de descomentar a ultima linha onde diz:
</Location>
Pronto, só falta adicionarmos os usuários, para isso utilize o comando abaixo:
#htpasswd -cm /etc/apache2/dav_svn.
passwd
seu_usuario
Importante, este comando serve apenas para quando se está criando o primeiro usuário, para outros usuários
deve ser utilizado o mesmo comando sem a opção -c , pois ela faz a criação do arquivo, deve ser utilizado apenas a opção -m para que a senha armazenada seja com HASH MD5
Será solicitado uma senha e uma confirmação de senha.
Agora vamos criar um repositório de teste, para isso digite o comendo abaixo:
#
svnadmin create /var/svn/teste
Agora apenas precisamos reiniciar o apache, utilize o comando abaixo:
#
/etc/init.d/apache2 force-reload
Para testar se está funcionando acesse http://"hostdosvn/svn/teste , se aparecer uma página contendo "Revision 0" tudo funcionou corretamente.
Ciclo básico de trabalho
-
Criar uma copia local do repositório:
$ svn checkout http://svn.exemplo.com.br/svn/
Atenção
Esta etapa só é necessária ser executada uma vez.
-
Atualizando a copia local do repositório:
$ svn update
-
Altere os arquivos através do seu editor predileto e/ou executando comandos de alteração da estrutura do repositório.
-
Atualizando a copia local do repositório:
$ svn update
-
Enviando as alterações para o repositório:
$ svn commit
-
Criando uma copia local do repositório:
$ svn checkout http://svn.exemplo.com.br/svn/
Atenção
Isto ira criar uma pasta chamada svn. Todos os outros comandos deverão ser executados dentro desta pasta.
-
Atualizar o repositório local:
-
Atualizando a copia local do repositório:
$ svn update
-
Atualizando a copia local do repositório para a revisão 3:
$ svn -r 3 update
-
Atualizando trem para a revisão 3 do repositório:
$ svn -r 3 update trem
-
-
Alterando a estrutura do repositório:
-
Adicionando trem ao repositório:
$ svn add trem
Nota
A adição de pasta é realizada no modo recursivo. Opcionalmente pode ser passado o parâmetro -N que tornara a adição não recursiva.
-
Removendo trem do repositório:
$ svn delete trem
Atenção
A remoção de pasta é realizada no modo recursivo.
Nota
A remoção não deve ser feita através do comando rm, pois ela só será apagada após o envio das operações realizadas localmente para o repositório.
-
Criando uma copia de trem para coisa no repositório:
$ svn copy trem coisa
Nota
A vantagem da utilização deste comando é que ele realiza a copia de trem para coisa através do tradicional utilitario cp e em seguencia realiza a adição de coisa ao repositório.
-
Alterando o nome de trem para coisa no repositório:
$ svn move trem coisa
Nota
A vantagem da utilização deste comando é que ele move de trem para coisa através do tradicional utilitario mv, em seguencia realiza a adição de coisa ao repositório e a remoção de trem do repositório.
-
Criando a pasta trem no repositório:
$ svn mkdir trem
Nota
A vantagem da utilização deste comando é que ele cria a pasta trem através do tradicional utilitario mkdir e em seguencia realiza a adição de trem ao repositório.
-
-
Monitoramento o repositório
-
Visualizar o estado de cada arquivo, comparando a copia local com as informações coletadas do repositório no servidor durante a ultima atualização:
$ svn status
-
Visualizar informações sobre o repositório:
$ svn info
-
Visualizar os relatórios das mudanças no repositório:
$ svn log
-
Visualizar os relatórios das mudanças no repositório mostrando apenas as revisões de 3 a 7:
$ svn -r 3:7 log
-
Visualizar as diferenças entre as revisões de 3 a 7 para trem do repositório:
$ svn -r 3:7 diff trem
-
Visualizar trem da revisão 3 do repositório:
$ svn -r 3 cat trem
-
Visualizar a estrutura do repositório da revisão 3:
$ svn -r 3 list
-
-
Enviando as alterações para o repositório:
-
Envio simples:
$ svn commit
Nota
Após a execução do comando será aberto o editor definido pelo variavel $EDITOR, dentro do editor é recomendado que seja feito um pequeno resumo de quais foram as alterações realizadas.
-
Envio simples somente das operações realizadas em trem:
$ svn commit trem
-
Envio sem abrir o editor, usando parametro para o resumo:
$ svn commit -m "Texto explicando as alterações realizadas"
-
Envio sem abrir o editor, usando o arquivo explicacao.txt para o resumo:
$ svn commit -F explicacao.txt
Atenção
O arquivo explicacao.txt não deve fazer parte do repositório, pois isto pode causar um ciclo redundante!
-
-
O Subversion é seu amigo e irá lhe ajudar.
-
Quando houver alguma duvida sobre quais comandos existem, execute:
$ svn help
-
Quando houver alguma duvida sobre algum comando, execute:
$ svn help comando
-
-
O Subversion permite que seja feito acesso direto ao repositório. A vantagem disto é que não é necessario possuir uma copia local do repositorio para rodar os comandos.
$ svn mkdir http://svn.exemplo.com.br/svn/trem
Nota
Muitos comandos permitem o acesso direto ao repositório, através da ajuda do Subversion é possivel saber se um comando permite ou não isto!
Atenção
Alguns comandos ao realizarem acesso direto ao repositório, ao fim do comando realizam um commit imediato.
-
Com o intuito de facilitar a utilização do Subversion, ele possui abreviações para seus comandos. Abaixo esta a tabela com estas abreviações.
opa,
ResponderExcluirTutorial completíssimo, parabéns.
Valeu pela referência.
Abraços
Ronaldo
god
ResponderExcluirExcelente Tutorial. Me ajudou bastante.
ResponderExcluirParabéns !
Valeu cara, ótimo tutorial.
ResponderExcluirmuito bom.. parabens
ResponderExcluirÓtimo cara, que bom que ajuda! Desde a época que postei esse conteúdo até hoje já ouvi falar, e acabei por ficar curioso com relação ao assunto, sobre GIT. Talvez ainda me aventure por lá...dae posto aqui se der certo...
ResponderExcluir;)