Controlando projetos com o Subversion

Este artigo apresenta o controlador de projetos Subversion, que é um controlador de versões feito para ser o substituto do CVS, retirando os problemas encontrados no CVS e adicionando novas características. Iremos aprender a instalar e configurar os repositórios e manipular os dados, adicionando, atualizando e removendo arquivos dos projetos.

[ Hits: 87.017 ]

Por: Ricardo Salveti de Araujo em 13/12/2004


Comandos do Subversion



Alguns comandos básicos para o manuseio dos arquivos no servidor.

Para colocar os seus arquivos no repositório do servidor, basta importar todos os arquivos que estão em algum diretório com o comando abaixo:

$ svn import /tmp/projeto svn+ssh://nome.seu.servidor/path/completo/do/repositorio -m "Importação arquivos repositório"

Ele pedirá o usuário e a senha para a autenticação.

Para você obter uma cópia do projeto no servidor em seu diretório corrente, utilize o comando abaixo:

$ snv checkout svn+ssh://svn+ssh://nome.seu.servidor/path/completo/do/repositorio .

Após realizado algumas modificações nos arquivos do projeto, você quer submeter suas mudanças, utilize o comando abaixo no diretório local do projeto:

$ svn commit -m 'comentário sobre a mudança'

Para submeter mudanças em um arquivo somente, basta especificar após o commit:

$ svn commit memory.c -m 'comentário sobre a mudança'

Caso ao tentar realizar o commit o subversion falar que sua versão está desatualizada do servidor, basta usar o comando abaixo para realizar um merge entre as suas mudanças com as dos arquivos no servidor:

$ svn update

Após realizado o merge, utilize novamente o comando commit para submeter a sua versão, já atualizada com o servidor, para o repositório.

Para adicionar um novo arquivo editado, utilize:

$ svn add novoarquivo.c

e depois:

$ svn commit -m 'adicionado um arquivo novo'

Para remover faça o mesmo procedimento, só substitua o add por rm.

Se caso você queira pegar versões anteriores, para analisar ou utilizar o código, você pode dar um checkout em qualquer revisão do repositório e até mesmo um diff para mostrar as modificações, exemplos:

Pega a quarta revisão do repositório:

$ snv checkout svn+ssh://nome.seu.servidor/path/completo/do/repositorio . -r 4

Mostra a diferença das versões 4 e 3 do repositório:

$ svn diff -r 4:3 svn+ssh://nome.seu.servidor/path/completo/do/repositorio

Temos também a função log, muito útil para verificar as anotações em cada modificação, algumas das formas de ser utilizado esta descrito abaixo.

No repositório que você está modificando:

$ svn log

Em um arquivo específico:

$ svn log foo.c

Em um repositório no servidor:

$ svn log svn+ssh://nome.seu.servidor/path/completo/do/repositorio/foo.c

Em arquivos específicos no repositório do servidor:

$ svn log svn+ssh://nome.seu.servidor/path/completo/do/repositorio foo.c bar.c

Esses comandos acima são, geralmente, os mais utilizados, mas ainda temos alguns que não deixam de ser importantes, tais como:

Cria um diretório no servidor:

$ svn mkdir

Cat, utilizado da mesma maneira que no Linux:

$ svn cat

Comando parecido com o ls do Linux.

$ svn list

Volta os seus dados com as modificações antigas (no diretório local), boa ferramenta para resolver conflitos:

$ svn revert

Caso pinte qualquer dúvida sobre a utilização de algum comando, basta utilizar "svn help" ou "svn help comando" para ser mais específico.

Também está disponível, livremente, o livro "Version Control with Subversion" no link http://svnbook.red-bean.com, uma ótima referência para o assunto.

Espero ter dado uma pequena idéia dessa ferramenta tão poderosa. Com esta ferramenta você fica muito mais organizado e te faz salvar horas e mais horas gastas com problemas de não versionamento.

Para quem utiliza o CVS, vale à pena dar uma olhada, ele tem uma sintaxe muito próxima ao mesmo, mas com novas funcionalidades.

É isso!

rsalveti

Página anterior    

Páginas do artigo
   1. Introdução
   2. Instalação e configuração do Subversion
   3. Configuração do repositório
   4. Comandos do Subversion
Outros artigos deste autor

Counter-Strike via cedega no Slackware 10

Leitura recomendada

Monitorando processos no Linux com o Htop

MySQL, Apache2, PHP5, phpMyAdmin e o driver de conexão com o NetBeans no OpenSUSE 11.2

Instalando o Ultra Servidor no Debian Lenny

Turbinando o seu aMSN

Convocação da Seleção Brasileira do Software Livre

  
Comentários
[1] Comentário enviado por domluc em 13/12/2004 - 10:42h

Certo, mas voce conhece algum controlador de documentos, onde os usuarios fossem em busca de modelos de documentos, logotipos , etc, para implementar em uma empresa, assim , eu teria rtf com os dados padroes para uma ata, o logotipo que deve ir nas cartas.....etc....... sem me preocupar com a duplicação dos mesmos

[2] Comentário enviado por rsalveti em 13/12/2004 - 10:53h

Com o subversion vc pode contralar diversos tipos de documentos, ele chega a fazer diff ateh em binarios.
Voce poderia criar uma base de dados para os seus documentos, deixar os modelos no servidor e sempre que vc quiser pegar ou atualizar os arquivos, basta usar o cliente do subversion.

[3] Comentário enviado por roge1982 em 11/12/2006 - 09:11h

Bom dia

Estou precisando fazer uma instação do subversion em uma maquina unix "HPUX 11" porem somente o cliente deve estar nesta maquina, o servidor ficara em outra maquina que ja funciona ok

Alguem sabe como posso compilar somente o cliente pois qdo tento compilara ele pede as dependencias do apache.

o agravante é que não tenho o root da maquina.


Obrigado.

[4] Comentário enviado por marcostimm em 17/06/2010 - 16:43h

Um bom cliente Subversion para linux é o RabbitVCS

http://goo.gl/rjIP

A inteface é similar ao TortoiseSVN do Windows.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts