segunda-feira, 24 de outubro de 2016

Subversion

O que é Subversion?
Subversion é um sistema de controle de versão livre/open-source. Isto é, o Subversion gerencia arquivos e diretórios, e as modificações feitas neles ao longo do tempo. Isto permite que você recupere versões antigas de seus dados, ou que examine o histórico de suas alterações. Devido a isso, muitas pessoas tratam um sistema de controle de versão como uma espécie de “máquina do tempo”.
O Subversion pode funcionar em rede, o que lhe possibilita ser usado por pessoas em diferentes computadores. Em certo nível, a capacidade de várias pessoas modificarem e gerenciarem o mesmo conjunto de dados de seus próprios locais é o que fomenta a colaboração. Progressos podem ocorrer muito mais rapidamente quando não há um gargalo único por onde todas as modificações devam acontecer. E como o trabalho está versionado, você não precisa ter medo de que seu trabalho perca qualidade por não ter essa via única para modificações—se os dados sofrerem alguma modificação indevida, apenas desfaça tal modificação.

Instalando o Subversion no Ubunto
Para instalar o Subversion, execute o seguinte comando no prompt de comando:
sudo apt-get install subversion libapache2-svn

Criando um repositório no Subversion
O repositório pode ser criado através do seguinte comando: 
svnadmin create /path/to/repos/project

Importando arquivos
Depois de criar o repositório você pode importar arquivos para o repositório. Para importar um diretório, digite o seguinte comando em uma janela do terminal:
svn import /path/to/import/directory file:///path/to/repos/project

Comandos do Subversion
Para ver o status da sua cópia local comparando com o status do servidor, use:
svn status -u

Mantendo sua cópia local sincronizada com o servidor, use:
svn update

Para commitar atualizações, use:
svn commit
Para ver o log de cada um dos arquivos, ordenando cronologicamente, use:
svn log | tac

E para ver o log de somente um arquivo específico, utilize:
svn log file_name | tac

Para ver a diferença entre um dado arquivo em uma dada revisão e o estado atual do seu arquivo no repositório, use:
svn diff -r revision_number file_name

Para ver a diferença entre revisões de seeu arquivo no repositório, use:
svn diff -r revision_number_1:revision_number_2 file_name

Para reverter o estado de um arquivo de cópia local para uma dada revisão, use (ou use -R para um diretório):
svn revert file svn revert -R directory

Para criar uma nova tag ou uma branch experimental, use:
svn copy src_dir tag_dir

Para consultar o help de qualquer comando, use:
svn help command