Manuals

Visualizando as Diferenças

Um dos requisitos mais comuns no desenvolvimento de projetos é ver o que foi modificado. Você pode querer ver as diferenças entre duas revisões de um mesmo arquivo, ou as diferenças entre dois arquivos separados. TortoiseSVN fornece uma ferramenta interna chamada TortoiseMerge para visualizar diferenças em arquivos de texto. Para visualizar diferenças em arquivos de imagem, TortoiseSVN também possui uma ferramenta chamada TortoiseIDiff. Claro, você pode usar seu programa favorito de diferenciação se quiser.

Diferenças do Arquivo

Alterações Locais

Se você quiser ver as modificações que você fez na sua cópia de trabalho, apenas use o menu de contexto do explorer e selecione TortoiseSVNDiferenciar.

Diferença para outro ramo/destino

Se você quiser ver o que foi modificado no tronco (se você estiver trabalhando em um ramo) ou em um ramo específico (se você estiver trabalhando no tronco), você pode usar o menu de contexto do explorer. Apenas mantenha pressionado a tecla Shift enquanto clica com o botão direito no arquivo. Então selecione TortoiseSVNDiferenciar com URL. No diálogo seguinte, especifique a URL do repositório com o qual você quer comparar com seu arquivo local.

Você também pode usar o navegador de repositório e selecionar duas árvores para diferenciar, talvez duas etiquetas, ou um ramo/etiqueta e o tronco. O menu de contexto apresentado possibilita a você compará-los usando Comparar revisões. Leia mais em “Comparando Diretórios”.

Diferenças da revisão anterior

Se você quer ver a diferença entre uma revisão particular e sua cópia de trabalho, utilize o diálogo Revisão de Log, selecione a revisão do seu interesse, então selecione Comparar com cópia de trabalho do menu de contexto.

Se você quiser ver a diferença entre a última revisão submetida e sua cópia de trabalho, assumindo que a cópia de trabalho não foi modificada, apenas clique com o botão direito no arquivo. Então selecione TortoiseSVNDiferenciar com a versão anterior. Isto irá realizar a diferenciação entre a revisão anterior à data da última submissão (como gravada na sua cópia de trabalho) e a base de trabalho. Isto mostra a você a última modificação feita naquele arquivo para trazê-lo ao estado que você agora vê em sua cópia de trabalho. Não serão mostradas modificações mais recentes que sua cópia de trabalho.

Diferença entre as duas últimas revisões

Se você quiser ver a diferença entre duas revisões que já foram submetidas, use o diálogo de Auditoria de Revisões e selecione as duas revisões que você quer comparar (usando o habitual modificador Ctrl). Então selecione Comparar revisões no menu de contexto.

Se você fez isso da auditoria de revisão para um diretório, uma janela de Comparação de Revisões aparecerá, mostrando a lista de arquivos alterados no diretório. Leia mais em “Comparando Diretórios”.

Todas as alterações feitas em uma submissão

Se você quiser ver as mudanças feitas a todos os arquivos de uma revisão particular em uma visão, você pode usar a saída Comparação-Unificada (formato de correção GNU). Isso mostra apenas as diferenças com poucas linhas de contexto. É mais difícil de ler do que em uma comparação de arquivo visual, mas irá mostrar todas as mudanças juntas. A partir da janela de Auditoria de Revisão selecione a revisão de interesse, então selecione Mostrar Diferenças como Comparação-Unificada no menu de contexto.

Diferença entre arquivos

Se você quiser ver as diferenças entre dois arquivos diferentes, você pode fazer isso diretamente no Explorer selecionando ambos os arquivos (usando o modificador usual Ctrl). Então, a partir do menu de contexto do Explorer, selecionar TortoiseSVN

If the files to compare are not located in the same folder, use the command TortoiseSVNDiff later to mark the first file for diffing, then browse to the second file and use TortoiseSVNDiff with "path/of/marked/file". To remove the marked file, use the command TortoiseSVNDiff later again, but hold down the Ctrl-modifier while clicking on it.

Diferença entre o arquivo/diretório CT e uma URL

Se você quiser ver as diferenças entre um arquivo na sua cópia de trabalho e um arquivo em um repositório Subversion, você pode fazer isso diretamente no Explorer selecionando o arquivo e então mantendo pressionada a tecla Shift enquanto clica com o botão direito do mouse para obter o menu de contexto. Selecione TortoiseSVNDiferenciar com URL. Você pode fazer o mesmo para uma pasta na cópia de trabalho. TortoiseMerge mostra estas diferenças da mesma maneira que ele mostra um arquivo de correção - uma lista de arquivos modificados que você pode ver um de cada vez.

Diferença com a informação de autoria

Se você quiser ver não apenas as diferenças mas também o autor, a revisão e a data em que as mudanças foram feitas, você pode combinar os relatórios de diferenças e de responsabilizações a partir da janela de auditoria de revisões. Leia “Diferenças de Autoria” para mais detalhes.

Diferença entre diretórios

The built-in tools supplied with TortoiseSVN do not support viewing differences between directory hierarchies. But if you have an external tool which does support that feature, you can use that instead. In “Ferramentas de Diferenciação/Combinação Externas” we tell you about some tools which we have used.

If you have configured a third party diff tool, you can use Shift when selecting the Diff command to use the alternate tool. Read “Configuração de Programa Externo” to find out about configuring other diff tools.

Opções de Quebra de Linha e Espaços em Branco

Sometimes in the life of a project you might change the line endings from CRLF to LF, or you may change the indentation of a section. Unfortunately this will mark a large number of lines as changed, even though there is no change to the meaning of the code. The options here will help to manage these changes when it comes to comparing and applying differences. You will see these settings in the Merge and Blame dialogs, as well as in the settings for TortoiseMerge.

Ignorar fim de linha exclui alterações que são exclusivamente ara diferenciar o identificador de fim de linha.

Comparar espaços em branco inlcui todas as alterações de indentação e espaços em branco como linhas adicionadas/removidas.

Ignore whitespace changes excludes changes which are due solely to a change in the amount or type of whitespace, e.g. changing the indentation or changing tabs to spaces. Adding whitespace where there was none before, or removing a whitespace completely is still shown as a change.

Ignorar todos os espaços em branco exclui todas as mudanças que são apenas espaços em branco.

Naturalmente, qualquer linha com conteúdo alterado é sempre incluída na diferenciação.

Comparando Diretórios

Figura 4.28. A Janela de Comparação de Revisões

A Janela de Comparação de Revisões


When you select two trees within the repository browser, or when you select two revisions of a folder in the log dialog, you can Context menuCompare revisions.

Esta janela mostra a lista de todos os arquivos que sofreram alteração e permite a você comparar ou identificar seu autor individualmente usando o menu de contexto.

You can export a change tree, which is useful if you need to send someone else your project tree structure, but containing only the files which have changed. This operation works on the selected files only, so you need to select the files of interest - usually that means all of them - and then Context menuExport selection to.... You will be prompted for a location to save the change tree.

Você pode também exportar a lista de arquivos alterados para um arquivo texto usando Menu de contextoSalvar lista de arquivos selecionados para....

Se você quer exportar a lista de arquivos e também as ações (modificado, adicionado, apagado), você pode fazê-lo usando Menu de contextoCopiar seleção para área de transferência.

O botão no topo permite a você mudar a direção da comparação. Você pode mostrar as alterações realizadas de A para B, ou se você preferir, de B para A.

Os botões contendo os números de revisão podem ser usados para mudar para uma faixa de revisão diferente. Quando você mudar a faixa, a lista de itens os quais diferem em duas revisões serão automaticamente atualizados.

Se a lista de arquivos é muito extensa, você pode usar a caixa de busca para reduzir a lista de nomes de arquivos para apenas os que contém o texto específico. Note que uma busca por texto simples é usada, então se você quer restringir a lista de arquivos para código em C você deve digitar .c ao invés de *.c.

Comparando Imagens Utilizando o TortoiseIDiff

Existem muitas ferramentas disponíveis para comparar arquivos texto, incluindo nosso próprio TortoiseMerge, porém nós frequentemente nos pegamos querendo ver as modificações em uma imagem além de somente textos. Por isso nós criamos o TortoiseIDiff.

Figura 4.29. O visualizar de diferenças de imagem

O visualizar de diferenças de imagem


TortoiseSVNDiff for any of the common image file formats will start TortoiseIDiff to show image differences. By default the images are displayed side-by-side but you can use the View menu or toolbar to switch to a top-bottom view instead, or if you prefer, you can overlay the images and pretend you are using a lightbox.

Naturally you can also zoom in and out and pan around the image. You can also pan the image simply by left-dragging it. If you select the Link images together option, then the pan controls (scrollbars, mousewheel) on both images are linked.

Uma caixa de informação de imagem mostra os detalhes sobre a mesma, como o tamanho em píxeis, resolução e nível de cor. Se esta caixa está a atrapalhar usa ViewImage Info para a esconder. Podes obter a mesma informação numa etiqueta, se mantiveres o rato sobre a barra de título da imagem.

When the images are overlaid, the relative intensity of the images (alpha blend) is controlled by a slider control at the left side. You can click anywhere in the slider to set the blend directly, or you can drag the slider to change the blend interactively. Ctrl+Shift-Wheel to change the blend.

The button above the slider toggles between 0% and 100% blends, and if you double click the button, the blend toggles automatically every second until you click the button again. This can be useful when looking for multiple small changes.

Sometimes you want to see a difference rather than a blend. You might have the image files for two revisions of a printed circuit board and want to see which tracks have changed. If you disable alpha blend mode, the difference will be shown as an XOR of the pixel colour values. Unchanged areas will be plain white and changes will be coloured.

Comparando Documentos Office

Quando queres comparar documentos não-textuais normalmente terás de utilizar o software usado para criar o documento, já que ele entende o formato do ficheiro.Para as suites do Microsoft Office e Open Office, normalmente usadas, existe realmente algum suporte para a visualização das diferenças e o TortoiseSVN inclui scripts para os invocar com as definições correctas ao comparar ficheiros com essas extensões bem conhecidas. Podes verificar que extensões de ficheiros são suportadas e adicionar a tua própria indo à secção TortoiseSVNDefinições e clicar Avançado em Programas Externos

Problemas com o Office 2010

Se instalaste a versão do Office 2010 Click-to-Run e tentares compara documentos, poderás obter uma mensagem de erro do Windows Script Host como esta: ActiveX component can't create object: word.Application. Parece que terás de usar a versão do Office baseada em MSI para obteres a funcionalidade de comparação.

Ferramentas de Diferenciação/Combinação Externas

Se as ferramentas providas por nós não faz o que você precisa, tente uma das muitas disponíveis de código aberto ou comerciais. Todo mundo tem suas favoritas, e esta lista não tem o propósito de estar completa, mas aqui estão algumas que nós devemos consideramos:

WinMerge

WinMerge is a great open-source diff tool which can also handle directories.

Forçar Unificação

Perforce is a commercial RCS, but you can download the diff/merge tool for free. Get more information from Perforce.

KDiff3

KDiff3 é uma ferramenta livre que também suporta diretórios. Você pode baixá-la aqui.

SourceGear DiffMerge

SourceGear Vault is a commercial RCS, but you can download the diff/merge tool for free. Get more information from SourceGear.

ExaminarDiferenças

ExamDiff Standard is freeware. It can handle files but not directories. ExamDiff Pro is shareware and adds a number of goodies including directory diff and editing capability. In both flavours, version 3.2 and above can handle unicode. You can download them from PrestoSoft.

Beyond Compare

Similar to ExamDiff Pro, this is an excellent shareware diff tool which can handle directory diffs and unicode. Download it from Scooter Software.

Araxis Merge

Araxis Merge is a useful commercial tool for diff and merging both files and folders. It does three-way comparison in merges and has synchronization links to use if you've changed the order of functions. Download it from Araxis.

Leia “Configuração de Programa Externo” para mais informações sobre como configurar o TortoiseSVN para usar essas ferramentas.

TortoiseSVN homepage