11. Importar um projeto para o svn
Algumas vezes já temos um projeto em algum canto de nossa máquina. Importe-o para o svn usando a linha de comando abaixo:
# svn import /tmp/projeto http://servidor/svn/projeto
O comando acima importará todos os arquivos do diretório /tmp/projeto para o repositório projeto em http://servidor/svn/
Uma outra maneira de executar o procedimento acima é acessar o diretório e então importá-lo para o svn:
# cd /tmp/projeto
# svn import http://servidor/svn/projeto
12. Baixar um projeto do svn
Quando for preciso efetuar modificações em um projeto que já está no svn, antes é preciso fazer o checkout, ou seja, efetuar o download dos arquivos correspondentes ao projeto.
Efetuando o checkout:
# svn co http://servidor/svn/projeto
13. Efetivar alterações em um projeto do svn
Depois de concluídas as modificações necessárias precisamos colocar a nova revisão do projeto no svn, para isso precisamos efetuar um commit (check in).
De dentro do diretório principal do projeto efetue o commit:
# svn commit
ou
# svn ci
14. Listar arquivos de um projeto
Depois de efetuar várias mudanças em um projeto baixado do svn, é importante poder listar o seu conteúdo e saber quais arquivos estão armazenados e quais não estão no seu respectivo repositório no svn.
Para isso, execute o seguinte comando no diretório principal do projeto:
# svn list
15. Adicionar arquivos a um projeto
No decorrer de um projeto novos arquivos surgem e precisam ser adicionados no repositório svn.
Para efetuar essa operação pode-se usar o seguinte comando:
# svn add projeto.c
Quando o commit for efetuado, o arquivo projeto.c será adicionado à árvore correspondente do projeto em que estava trabalhando.
Remover arquivos de um projeto:
A medida que arquivos vão sendo incluso no projetos, há a necessidade de excluir alguns.
Use o seguinte comando para efetuar tal operação:
# svn rm projeto.c
É possível remover um projeto inteiro do svn, para isto basta executar:
# svn rm http://servidor/svn/projeto
Quando o commit for efetuado, o arquivo projeto.c será removido da árvore onde ele era armazenado e na nova revisão ele não fará mais parte do projeto.
16. Verificar as alterações antes de efetuar um commit
Na maioria das vezes é interessante, antes de efetuar o commit, verificar quais são as modificações.
Para isso usamos o svn diff. Porém, se existirem muitas modificações, é preciso jogar a saída do comando para um editor de texto, sendo no
Linux, assim, possível analisar todo o diff gerado.
Executando apenas o svn diff:
# svn diff
Jogando a saída para um editor de texto, no caso o vim (Sistemas Operacionais Unix Like):
# svn diff | vim -
Lembrando que o comando acima mostra as diferenças do diretório onde foi executado e o seu correspondente no svn. Para verificar todas as modificações de um projeto, basta executá-lo na raiz principal dele.
17. Verificar o log de um projeto
Muitas vezes esquecemos o que fizemos, por isso, ao efetuar um commit o svn sempre pede uma mensagem para ser adicionada ao log do projeto.
Para verificar os logs de um determinado projeto: efetue o checkout dele, acesse o diretório onde ele foi baixado e execute o seguinte comando:
# svn log
18. Obter ajuda dos próprios comandos
Para verificar os comandos disponíveis use:
# svn help
Uma série de comandos, possíveis, será listada. Para obter informações sobre um comando em específico use:
# svn comando --help
20. Obter Status
# svn st
Legenda:
- U - o arquivo foi "Updated" (atualizado) a partir do servidor;
- A - o arquivo ou diretório foi "Added" (adicionado) à sua working copy;
- D - o arquivo ou diretório foi "Deleted" (deletado) da sua working copy;
- R - o arquivo ou diretório foi "Replaced" (substituído) em sua working copy, ou seja, um elemento foi deletado e posteriormente outro com o mesmo nome foi adicionado; embora tenham o mesmo nome o repositório consegue percebê-los como arquivos diferentes;
- G - o arquivo no servidor recebeu alterações, mas sua cópia local tinha as suas modificações; ou as alterações não interceptavam ou eram idênticas às suas, então o Subversion conseguiu colocá-las em estado de "merGed" (união) sem problemas;
- C - o arquivo recebeu alterações "Conflicting" (conflitantes) com as suas, ou seja, na mesma seção do arquivo; trataremos deste caso mais adiante.