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: 88.425 ]

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

WhatsApp com Chamadas no Linux via Waydroid

Alternativas ao Microsoft Visio para Linux

Gcombust, um frontend para cdrecord

Criando um pacote DEB manualmente

Apresentando o Ubuntu 7.04 Feisty Fawn

  
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