-->
“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 codificação.”
fonte: Manual do subversion
Como primeiro passo, vamos atualizar a lista de repositórios e instalar o programa, aqui uso o aptitude em substituição ao apt-get por este trabalhar melhor com dependências de pacotes e usando um ‘&&’ posso fazer os dois comandos em apenas uma linha, sem precisar aguardar o término do primeiro para realizar o segundo.
felix@merovingian:~$ sudo aptitude update && sudo aptitude install subversion
[sudo] password for felix:
1.1. Após carregar a lista, podemos notar que ele sugere a instalação do libsvn1{a} também, podemos aceitar essa sugestão e pressionar a tecla “y” como é pedido:
Lendo listas de pacotes… Pronto
Construindo árvore de dependências
Lendo informação de estado… Pronto
Lendo informações estendidas de estado
Inicializando estados de pacotes… Pronto
Os NOVOS pacotes a seguir serão instalados:
libsvn1{a} subversion
0 pacotes atualizados, 2 novos instalados, 0 a serem removidos e 0 não atualizados.
É preciso obter 1074kB de arquivos. Depois do desempacotamento, 5927kB serão usados.
Você deseja continuar? [Y/n/?]
Pronto, o programa já está instalado; agora, como trabalhar com ele? Quando eu digo que Linux é mais fácil que Windows alguns contrariam, mas se eu tivesse feito algo semelhante no sistema da Microsoft acho que não seria tão intuitivo. Vamos por partes:
Ao simplesmente digitar o comando svn no terminal, a resposta que tive foi esta:
felix@merovingian:~$ svn
Digite ‘svn help’ para uso.
‘Obedeci’ então o sistema e dêem uma olhada:
felix@merovingian:~$ svn help
uso: svn [op&ccelil;ôes] [args]
Cliente de linha de comando Subversion, versão 1.5.1.
Digite ‘svn help ‘ para ajuda neste sub-comando específico.
Digite ‘svn –version’ para ver a versão do programa e de módulos RA
ou ‘svn –version –quiet’ para ver somente o número da versão.
Vários sub-comandos têm arquivos e/ou diretórios como argumentos, sendo
recursivos para diretórios. Se argumentos não forem passados para tais
comandos, será executado de forma recursiva no diretório atual (inclusive)
como padrão.
Sub-comandos disponíveis:
add
blame (praise, annotate, ann)
cat
changelist (cl)
checkout (co)
cleanup
commit (ci)
copy (cp)
delete (del, remove, rm)
diff (di)
export
help (?, h)
import
info
list (ls)
lock
log
merge
mergeinfo
mkdir
move (mv, rename, ren)
propdel (pdel, pd)
propedit (pedit, pe)
propget (pget, pg)
proplist (plist, pl)
propset (pset, ps)
resolve
resolved
revert
status (stat, st)
switch (sw)
unlock
update (up)
Subversion é uma ferramenta para controle de versão.
Para mais informações, veja http://subversion.tigris.org/
Querem ainda algo mais explicativo que isso???
Bem, como recentemente entrei no grupo vimbook, então vamos baixar o código do repositório. Para isso, acessei a pasta Documentos
felix@merovingian:~/Documentos$ cd Documentos
Agora que estou dentro do diretório, uso o comando para baixar o código fonte do repositório:
svn checkout https://vimbook.googlecode.com/svn/trunk/ vimbook –username usuário
O mesmo me pede a senha para meu usuário:
Área de autenticação: Google Code Subversion Repository
Senha para ‘usuário‘:
Obs.: Note que no último comando que coloquei acima onde você lê: usuário substitua pelo seu nome de usuário no repositório, aqui eu preferi omití-lo por se tratar de um endereço de e-mail, e como a maioria já deve saber, eu abomino spam.
O resultado será algo como este:
A vimbook/AUTHORS
A vimbook/src
A vimbook/src/vimbook.tex
A vimbook/src/img
A vimbook/src/img/vimlogo.png
A vimbook/src/img/setas.png
A vimbook/src/Makefile
A vimbook/COPYING
A vimbook/README
Gerado cópia de trabalho para revisão 78.
felix@merovingian:~/Documentos/vimbook$
Note que tal senha somente será pedida na primeira vez em que você acessar o repositório, nas próximas vezes em que fazer o checkout a mesma não será mais pedida. Agora após tudo isso, tenho em minha pasta Documentos uma outra pasta chamada vimbook com todo o código fonte do projeto:
felix@merovingian:~/Documentos/vimbook$ ls -lh
total 36K
-rw-r–r– 1 felix felix 476 2009-01-10 22:51 AUTHORS
-rw-r–r– 1 felix felix 23K 2009-01-10 22:51 COPYING
-rw-r–r– 1 felix felix 627 2009-01-10 22:51 README
drwxr-xr-x 4 felix felix 4,0K 2009-01-10 22:51 src
felix@merovingian:~/Documentos/vimbook$
Claro que estas são instruçõs para baixar o código com um usuário existente, mas você pode baixar de modo anônimo com o seguinte comando:
svn checkout http://vimbook.googlecode.com/svn/trunk/ vimbook-read-only
Pronto, agora com o código baixado, iniciarei os trabalhos. Caso não tenham notado, este é mais um post que terá continuações. Conforme for progredindo com a ferramenta, irei divulgando aqui.
Caso tenha interesse e tempo disponível. Se já souber trabalhar com subversion e LATEX, ou mesmo se não souber, mas tenha interesse em aprender (Ótima oportunidade esta), entre no grupo vimbook e venha participar conosco deste projeto:
Canonical URL by SEO No Duplicate WordPress Plugin
Cara, o post tá ótimo, no final de semana não tive tempo de mexer no projeto, veja que ironia. Mas como você eu também não sabia bulufas de SVN, ajudar a comunidade faz bem para o ego e para o currículo!
Valeu!
Opa,
valeu mesmo Sérgio. Acho interessante justemante isso, além de ajudarmos nos projetos que participamos sempre estamos ampliando conhecimentos. Estou estudando tanto o subversion quanto o Latex, em breve já estarei fazendo meus commits.
Parabéns ! estou começando a desenvolver sistemas em python e preciso começar a aprender subversion também.
muito bom tutorial.
Legal o artigo. Você já usou o git?
http://josenaves.com/git-e-isso.htm
Ainda não usei Neto, mas já pensei na possibilidade, ouvi dizer que é muito melhor que o subversion