svn - subversion: guia de sobrevivência do usuário

26
SVN - Subversion Guia de sobrevivência do usuário Fabrício Ferrari de Campos

Upload: fabricio-campos

Post on 22-May-2015

26.175 views

Category:

Technology


1 download

DESCRIPTION

Um guia prático de utilização do SVN.

TRANSCRIPT

Page 1: SVN - Subversion: Guia de sobrevivência  do usuário

SVN - SubversionGuia de sobrevivência

do usuário

Fabrício Ferrari de Campos

Page 2: SVN - Subversion: Guia de sobrevivência  do usuário

Licença Creative Commons

Page 3: SVN - Subversion: Guia de sobrevivência  do usuário

Agenda

• Introdução ao sistema de versionamento;

• Apresentação do Subversion (SVN);

• Principais comandos;

• Exemplos práticos.

Page 4: SVN - Subversion: Guia de sobrevivência  do usuário

Objetivo

• Introdução ao SVN;

• Capacitação para realizar todas as tarefas necessárias para usar o SVN, em um dia normal de trabalho.

Page 5: SVN - Subversion: Guia de sobrevivência  do usuário

Sistema de versionamento

• É um software com a finalidade de gerenciar diferentes versões no desenvolvimento de qualquer artefato produzido (ex. código fonte);

• Pode ser útil tanto para pequenos projetos, quanto para grandes;

• O versionamento e controle de versão é tão importante que é até uma das exigências do CMMI.

Page 6: SVN - Subversion: Guia de sobrevivência  do usuário

Principais vantagens

• Controle do histórico - quem alterou? Quando alterou? Por que alterou? Todas as respostas para essas perguntas o sistema de versionamento nos fornece;

• Trabalho em equipe - facilita muito o trabalho no desenvolvimento, além de garantir segurança aos artefatos. Torna-se possível diversas pessoas trabalhem sobre o mesmo conjunto de documentos ao mesmo tempo e mitiga o risco de conflitos de edições;

• Marcação e resgate de versões estáveis - a maioria dos sistemas permite marcar onde é que o artefato estava com uma versão estável, podendo ser facilmente resgatado no futuro;

• Ramificação de projeto - torna-se possível a divisão do projeto em várias linhas de desenvolvimento, que podem ser trabalhadas paralelamente, sem que uma interfira na outra.

Page 7: SVN - Subversion: Guia de sobrevivência  do usuário

O Subversion

• O Subversion é um sistema de controle de versão livre e open source;

• Seu objetivo é gerenciar arquivos e diretórios, e todas modificações feitas neles ao longo do tempo, fornecendo um sistema centralizado de compartilhamento de informação;

• Substituto do CVS.

Page 8: SVN - Subversion: Guia de sobrevivência  do usuário

O que é necessário instalar?

• SVN Client▫ O programa cliente de linha de comando.

sudo apt-get install svn

▫ Ou o próprio Subversion (já vem com o client)sudo apt-get install subversion

Page 9: SVN - Subversion: Guia de sobrevivência  do usuário

Principais comandos

• svn help - descreverá a sintaxe, opções, e comportamento do subcomando (exemplo abaixo)

Page 10: SVN - Subversion: Guia de sobrevivência  do usuário

Principais comandos

• Apenas svn help irá apresentar a lista de comandos disponíveis:

Page 11: SVN - Subversion: Guia de sobrevivência  do usuário

Principais comandos

• svn import▫ é o modo rápido para copiar uma árvore de arquivos não

versionada em um repositório ( que foi criado pelo administrador do SVN)

▫ ou seja, podemos copiar todos os arquivos do diretório ensinar para o repositório:

$ svn import ensinar file:///usr/local/svn/blogs/ensinar -m “Iniciando a brincadeira"

Adding ensinar/backup.xmlAdding ensinar/app_svn.pptAdding ensinar/material/svn-book.pdfCommitted revision 1.

Page 12: SVN - Subversion: Guia de sobrevivência  do usuário

Principais comandos

• svn checkout (OU svn co)▫ cria uma “cópia de trabalho” em sua máquina local, do

projeto que você está trabalhando.▫ iremos copiar os arquivos do SVN para a pasta ensinar$ svn checkout

http://192.168.171.145/svn/projetos/ensinar ensinarA trunk/index.phpA trunk/conf/build.conf…Checked out revision 42.

Page 13: SVN - Subversion: Guia de sobrevivência  do usuário

Principais comandos

• svn update (OU svn up)▫ serve para deixar sua cópia de trabalho em sincronia

com a última revisão no repositório.

▫ executando o comando, podemos visualizar quais arquivos foram adicionados e que não estavam na nossa “cópia de trabalho”

$ svn update

U trunk/images/logo.gif

Updated to revision 2.

Page 14: SVN - Subversion: Guia de sobrevivência  do usuário

Principais comandos

• svn add▫ serve para adicionar um novo arquivo no repositório

▫ por exemplo, adicionar o arquivo teste.xml na pasta trunk

$ svn add ensinar/trunk/teste.xml

Page 15: SVN - Subversion: Guia de sobrevivência  do usuário

Principais comandos

• svn delete (OU svn del OU svn rm OU svn remove)▫ serve para deletar um arquivo do repositório

▫ por exemplo, deletar o arquivo index.php da pasta trunk

$ svn delete ensinar/trunk/index.php

Page 16: SVN - Subversion: Guia de sobrevivência  do usuário

Principais comandos

• svn copy (OU svn cp)▫ serve para fazer uma cópia de um arquivo

▫ por exemplo, podemos fazer uma copia do arquivo logo.gif

$ svn copy ensinar/trunk/images/logo.gif /trunk/ensinar/images/logo_default.gif

Page 17: SVN - Subversion: Guia de sobrevivência  do usuário

Principais comandos

• svn move▫ serve para mover um arquivo de lugar

▫ por exemplo, podemos mover o arquivo logo.gif para a pasta trunk

$ svn move ensinar/trunk/images/logo.gif /ensinar/trunk/logo.gif

Page 18: SVN - Subversion: Guia de sobrevivência  do usuário

Principais comandos

• svn mkdir▫ serve para criar uma pasta no repositório

▫ se precisamos criar uma nova pasta chamada docs no trunk, executamos o seguinte comando:

$ svn mkdir /ensinar/trunk/docs

Page 19: SVN - Subversion: Guia de sobrevivência  do usuário

Principais comandos

• svn status (OU svn st)▫ muito útil para saber todas as alterações de arquivos e

diretórios que você fez

$ svn status

A /trunk/ensinar/images/logo_default.gif # file is scheduled for addition

Page 20: SVN - Subversion: Guia de sobrevivência  do usuário

Principais comandos

• svn commit (OU svn ci)▫ finalmente, após você ter realizado todas as suas

alterações, chegou a hora de efetivar as mesmas;▫ e é essa a utilidade do comando commit, ele irá envia

todas as suas modificações para o servidor, sendo preciso informar uma mensagem de log, descrevendo sua alteração.

$ svn commit -m “Acabando com a brincadeira."Sending /trunk/ensinar/images/logo_default.gif Transmitting file data.Committed revision 43.

Page 22: SVN - Subversion: Guia de sobrevivência  do usuário
Page 24: SVN - Subversion: Guia de sobrevivência  do usuário
Page 25: SVN - Subversion: Guia de sobrevivência  do usuário