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.
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 → .
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 → . 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 “Comparando Diretórios”.
. Leia mais emSe 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
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
→ . 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.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 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”.
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
no menu de contexto.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
If the files to compare are not located in the same folder, use the command Ctrl-modifier while clicking on it.
→ to mark the first file for diffing, then browse to the second file and use → . To remove the marked file, use the command → again, but hold down theSe 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 → . 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.
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.
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.
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.
When you select two trees within the repository browser, or when you select two revisions of a folder in the log dialog, you can → .
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 → . 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 → .
Se você quer exportar a lista de arquivos e também as ações (modificado, adicionado, apagado), você pode fazê-lo usando → .
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
.
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.
→ 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
→ 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.
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 Programas Externos
→ e clicar emSe 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.
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 is a great open-source diff tool which can also handle directories.
Perforce is a commercial RCS, but you can download the diff/merge tool for free. Get more information from Perforce.
KDiff3 é uma ferramenta livre que também suporta diretórios. Você pode baixá-la aqui.
SourceGear Vault is a commercial RCS, but you can download the diff/merge tool for free. Get more information from SourceGear.
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.
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 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.