Tuesday, October 28, 2008

Controlando versões de um documento

Neste post descreveremos como instalar e utilizar o svn (subversion), um controlador de versões de código aberto. Estamos assumindo uma distribuição Ubuntu ou qualquer fork do Debian.

O subversion é um programa que controla todas as versões de um documento, desde a data da criação até a última modificação, além disso o programa consegue gerenciar um grupo de usuários que modificam o mesmo arquivo. Existe um repositório onde ficam todas as versões de todos os documentos criados para que todas as pessoas envolvidas tenham acesso às versões, depois de instalado o subversion (sudo apt-get install subversion) o usuário precisar dar um checkout no repositório fazendo svn checkout svn://endereço (logo após digitar o login e senha), com esse comando o usuário irá baixar para sua máquina todos os arquivos disponíveis no repositório. O controlador trabalha dentro de um diretório especial chamado /trunk. Dentro dele devem estar todos os arquivos que estão sob controle de versão, é importante saber que os comandos devem ser dados dentro deste diretório.

Imagine que várias pessoas estão envolvidas em um projeto e o repositório está no endereço 200.200.3.4 dentro do diretório /projetos/trunk. Então cada pessoa envolvida deve criar um diretório chamado projetos (dentro do diretório /trunk) e entrar nele, após isso deverá digitar o seguinte comando num terminal

svn checkout svn://200.200.3.4/projetos/trunk (digitar o login e senha),

neste momento (se o sistema aceitou seu login e senha) os arquivo estão sendo copiados para seu computador. Agora suponha que você alterou um arquivo, com o comando svn commit -m "Comentários da modificação" os arquivos modificados serão enviados para o repositório principal para que todos as pessoas envolvidas no projeto tenham acesso as suas modificações. Pra adicionar um arquivo no repositório você deve digitar o comando

svn add caminho_do_arquivo

e para atualizar os seus arquivos você deve digitar svn up. É comum modificar vários arquivos e esquecer qual arquivo foi modificado para isso existe o comando svn status que listará todos os arquivos que você modificou e ainda não atualizou o repositório principal. Para visualizar o log da última mudança basta digitar

svn log -r HEAD -v

Existem outros comandos como svn mv, svn cp, svn rm que significam mover, copiar e remover respectivamente os arquivos do repositório.

Este programa pode ser muito útil para pesquisadores que escrevem artigos e livros em conjunto. Muitas dores de cabeça podem ser evitadas com este eficiente controlador de versões.

Para detalhes sobre o subversion veja aqui e a wiki

No comments: