Capítulo 1. Introdução

Quando duas ou mais pessoas estiverem trabalhando em um arquivo e trocam esta arquivo entre si, torna-se difícil saber que modificações foram feitas em cada versão do arquivo. Abrir a cópia nova e o original, lado-a-lado, no aplicativo usado para criá-los, é uma solução possível mas trabalhosa, lenta e sujeita a erros. Esta situação é uma em que é necessário e útil um programa para mostrar as diferenças.

Como seria de se esperar, um nome apropriado para um programa destes seria diff (diminutivo de diferença em inglês). Normalmente, o programa diff está instalado na maioria dos sistemas baseados em Linux® e é usado exatamente para este fim. Os programadores usam normalmente o 'diff', como ferramenta da linha de comando, para mostrar as diferenças entre versões de arquivos de código. Contudo, a utilização do 'diff' não está limitada à apresentação das diferenças nos arquivos de código-fonte, podendo ser usada em vários tipos de arquivos baseados em texto.

O uso do 'diff' na linha de comando poderá ser confusa, a aprendizagem da sintaxe e a decodificação do resultado poderão assustar a maioria das pessoas. Aí é onde o Kompare entra em jogo. Ao oferecer uma interface gráfica para o programa 'diff', o programa mostra os arquivos de origem e destino lado-a-lado, com todas as diferenças realçadas automaticamente. A partir deste ponto, as alterações num arquivo poderão ser aplicadas sequencialmente ao outro, usando uma base seletiva e controlada. Nem todas as alterações precisam de ser aplicadas e, se você não quiser aplicar uma alteração, ela poderá sempre ser 'anulada'. Quando todas as alterações necessárias tiverem sido aplicadas, elas poderão ser gravadas e aparecerão de forma normal, como acontece no aplicativo usado para criar o arquivo.

Além de mostrar as diferenças entre um arquivo de origem e um de destino, o Kompare pode ser usado para criar e ver um arquivo especial, chamado arquivo 'diff'. Este arquivo captura as diferenças entre as duas fontes para um único arquivo, que poderá então ser usado para ver e aplicar as alterações a outra cópia qualquer do arquivo. Por exemplo, se duas pessoas estiverem editando um documento, a primeira pessoa quer fazer alterações e enviar apenas essas alterações à segunda pessoa. Normalmente, a primeira pessoa iria enviar uma cópia completa do documento modificado para a segunda pessoa, que teria depois de comparar o documento modificado, lado-a-lado com a versão não-modificada. O processo é muito semelhante ao descrito nos parágrafos anteriores. Com o Kompare, a primeira pessoa iria fazer uma cópia local do arquivo a ser modificado, faria as alterações e depois iria comparar o original e a cópia modificada. Agora, ao usar o Kompare, poderá criar um arquivo 'diff' que captura apenas as alterações feitas. Ele poderá ser enviado para a segunda pessoa, em vez de enviar um arquivo inteiro com os dados e as alterações.

Usando o Kompare, a segunda pessoa poderá ver o arquivo 'diff', compará-lo com a cópia local do documento e aplicar as alterações feitas pela primeira pessoa. Assim, o processo poderá funcionar para várias versões do documento, onde cada pessoa faz as alterações, cria os arquivos 'diff', distribui-os e aplica-os. Este processo é conhecido em inglês como patching, um termo retirado do programa patch, que é outra ferramenta da linha de comando, desenhada especificamente para aplicar os arquivos do 'diff'.

Algumas vezes pode ocorrer que existam várias pessoas editando um arquivo ao mesmo tempo. Nesta situação, é provável que as pessoas façam alterações no documento exatamente na mesma linha. Isto gera um problema porque, sem o devido cuidado, as pessoas poderão estar sobrepondo o trabalho das outras, à medida que se aplicam os arquivos de 'diff' que recebem. Felizmente, os programadores dos programas 'diff' e 'patch' levaram isso em conta e, deste modo, estas ferramentas não irão aplicar essas alterações sem alguma intervenção manual. Quando se atinge este estado, isto é referido como um conflito. O Kompare irá mostrar os conflitos, de modo que você possa resolvê-los manualmente, decidindo as alterações que deverão ser aplicadas a um determinado arquivo.

O Kompare também é um ótimo programa para comparar as alterações de arquivos ao nível da pasta. Quando for usado para comparar pastas, o Kompare examina recursivamente as subpastas e o conteúdo dos seus arquivos, à procura de diferenças. Neste caso, cada um dos arquivos em que foram encontradas diferenças é aberto automaticamente e listado pelo Kompare, onde é possível navegar facilmente pelos vários arquivos.