Uso Avançado do TortoiseSVN

De ccppbrasil.org

A melhor fonte de informações para tópicos não tratados neste resumo a respeito do Subversion são as páginas do seu manual. Note que estamos na versão 1.3.1 em 11/Mar/2006.

Como colocado no início deste artigo, informações mais detalhadas do uso do TortoiseSVN podem ser encontradas também aqui e aqui, além da própria ajuda do programa, que é bem completa.

Tabela de conteúdo

Menu do TortoiseSVN de itens já em controle de revisão

(em construção)

O menu do TortoiseSVN tem duas partes, uma que se interpenetra no menu de contexto do Windows® Explorer, que contém apenas dois botões, um deles é uma tentativa do programa de apresentar o botão mais provável que você vai usar e o outro botão é o que abre o menu completo do TortoiseSVN.

Como notado no título, o restante deste bloco se concentra nos menus que aparecem para itens já em repositório, com cópia local de trabalho.


Arquivo:TORTOISESVN menu 001.png


O menu de contexto do Windows® Explorer, como já foi colocado acima, contém dois botões: um deles é variável de acordo com o que o programa interpreta que será seu próximo passo, de acordo com o contexto, e o segundo abre o menu completo de todas as opções possíveis para o mesmo contexto.


Menu commit

Além do que já foi visto, vamos acrescentar um arquivo ao diretório e editar o arquivo já existente e também o novo:


Arquivo:TORTOISESVN menu commit 000.png


Chamando o menu do TortoiseSVN, observe os ícones do arquivo original e da pasta do projeto, que mostram que houveram alterações na cópia local de trabalho, mas o ícone do novo arquivo permanece como o ícone original do sistema (existe outra forma de se informar ao Subversion que ele deve passar a controlar a versão de novos arquivos, mas também pela janela de commit isto também é possível).

Arquivo:TORTOISESVN menu commit 001.png


Analise a seqüência abaixo:

Arquivo:TORTOISESVN menu commit 002.png


Arquivo:TORTOISESVN menu commit 003.png


Arquivo:TORTOISESVN menu commit 004.png


Antes de finalizar, veja como ficam os ícones dos arquivos:

Arquivo:TORTOISESVN menu commit 005.png


Finalizando:

Arquivo:TORTOISESVN menu commit 006.png


Relatório de conclusão:

Arquivo:TORTOISESVN menu commit 007.png


Nova situação:

Arquivo:TORTOISESVN menu commit 008.png


Menu show log

O menu show log abre a seguinte janela:

Arquivo:TORTOISESVN menu showlog 001.png


Escolhendo uma das versões e clicando nesta opção com o botão direito, surge o seguinte menu:

Arquivo:TORTOISESVN menu showlog 002.png


O primeiro item deste menu abre uma tela de comparação da cópia de trabalho atual com a versão selecionada (o arquivo que se deseja comparar deve ser selecionado com um duplo clique na pequena janela de seleção de arquivos):

Arquivo:TORTOISESVN menu showlog 003.png


A partir desta tela pode-se reverter blocos de texto de versões anteriores.

Vários dos demais itens desta janela são caminhos alternativos para outras funções que serão vistas a seguir.


Menu Repo-Browser

O menu Repro-Browser (assim como outros itens de menu de outras janelas do TortoiseSVN) abre o navegador do repositório:

Arquivo:TORTOISESVN menu repobrowse 001.png


Abrindo a pasta do projeto, vê-se os arquivos que estão sob controle de revisão:

Arquivo:TORTOISESVN menu repobrowse 002.png


Fechando e abrindo a pasta trunk, se obtém a listagem de todos os projetos, sendo que, da mesma forma que no item anterior, ao se abrir a pasta de um projeto se obtém a lista dos seus arquivos que estão sob controle de revisão:

Arquivo:TORTOISESVN menu repobrowse 003.png


Do mesmo modo que outras janelas, ao se clicar nas pastas ou nos arquivos com o botão direito do mouse, outros menus são abertos, cujos itens são outras formas de acesso a itens do menu principal do TortoiseSVN.


Menu Check for Modifications

Mostra uma janela que pode mostrar uma lista condensada de arquivos que precisem de atualização. Veja a seguir um exemplo desta tela logo após o arquivo teste.cpp haver sido modificado em outro computador e já ter sido atualizado no repositório:

Arquivo:TORTOISESVN menu checkmod 001.png


Note que o estado de atualização da cópia de trabalho não é alterado, ou seja, mesmo que a janela de verificação de modificação detecte que o repositório tem uma versão atual de algum arquivo de sua cópia de trabalho, esta informação não é salva na própria cópia de trabalho, sendo necessário fazer um update para refletir a nova situação do repositório.

Novamente temos novos menus ao se clicar com o botão direito do mouse em algum item desta janela, que são outras formas de acessar as mesmas funções do menu principal e de outros já vistos.


Menu Revision Graph

Este menu mostra um gráfico de revisões. No exemplo abaixo, como não tivemos nenhum branch, temos uma linha direta de evolução desde a primeira versão (fundo) até a mais recente (topo). Selecionando quaisquer das versões apresentadas, pode-se, a partir do menu da janela, listar as diferenças entre estas versões em outra janela de merge.

Arquivo:TORTOISESVN menu revgraph 001.png


Menu Resolved

Já visto anteriormente na resolução de conflitos, com uma outra forma de acesso para esta mesma função.


Menu Update to Revision...

Abre a janela exemplificada abaixo, que permite recuperar uma versão anterior para a cópia de trabalho:


Arquivo:TORTOISESVN menu update2rev 001.png


Menu Rename

O Subversion consegue tratar arquivos renomeados e manter um registro de versões mesmo com a alteração de nomes de arquivos.

Arquivo:TORTOISESVN menu rename 001.png


O arquivo foi renomeado para main.cpp:

Arquivo:TORTOISESVN menu rename 002.png


Fazendo o commit e pedindo um Revision Graph, observe que o histórico se mantém:

Arquivo:TORTOISESVN menu rename 003.png

(note que uma versão foi pulada, pois o arquivo havia sido editado em outro sistema e atualizado no repositório antes do início desta tarefa.)


Menu Delete

Faz com que o Subversion não prossiga tentando atualizar um arquivo apagado. Ele apaga o arquivo do sistema e mostra um estado de cópia local alterada para que você faça um commit e repasse a informação de ter apagado o arquivo para o repositório.


Menu Revert

Mostra uma janela onde é possível escolher uma ação para ser revertida:

Arquivo:TORTOISESVN menu revert 001.png


Menu Clean Up

(em construção)


Menu Get Lock...

(em construção)


Menu Release Lock

(em construção)


Menu Branch/Tag...

Abre a janela de branch ou tag. Qual das duas ações será feita é definida pelo repositório que será usado (note que é escolhido o repositório tags):

Arquivo:TORTOISESVN menu branchtag 001.png


A janela de confirmação mostra uma possível próxima ação a ser feita, mas que não será:

Arquivo:TORTOISESVN menu branchtag 002.png


Agora, para termos o tag em nosso sistema de arquivos, devemos fazer um checkout na pasta de tags:

Arquivo:TORTOISESVN menu branchtag 003.png


E, a seguir (note que o repositório e o local de destino foram editados):

Arquivo:TORTOISESVN menu branchtag 004.png


Aparece uma pequena janela de solicitação de confirmação de criação do novo diretório, e, logo após, a já conhecida janela de relatório de ações tomadas.

Por este exemplo, nota-se que apenas a estrutura de diretórios ou pastas tanto nas cópias locais quanto nas cópias remotas é que definem a natureza de uma versão normal de trabalho, uma versão de ramificação (branch) ou uma versão etiquetada (tagged).

Como se pode perceber, analogamente se faz um novo branch.

Veja como fica um Revision Graph:

Arquivo:TORTOISESVN menu branchtag 005.png

Menu Switch...

Permite trocar de repositório para uma cópia de trabalho:


Arquivo:TORTOISESVN menu switch 001.png

Menu Merge...

(em construção)


Menu Export...

(em construção)


Menu Relocate...

(em construção)


Menu Add...

(em construção)


Menu Create Patch...

(em construção)


Menu Apply Patch...

(em construção)


Menu Help

Acesso ào sistema de ajuda do programa.


Menu Settings

Configurações. Consulte a ajuda do programa para mais detalhes.


Menu About

Mostra a janela de identificação e créditos.


Retornar para a configuração e uso do Tortoise SVN

Retornar para a página inicial

Ferramentas pessoais