Hoofdstuk 1. Inleiding

Als twee of meer mensen een bestand bewerken en deze heen en weer versturen, dan is het vaak moeilijk om de verschillen tussen de verschillende versies te zien. Het openen van een nieuw kopie en het origineel naast elkaar in het gebruikte programma is een oplossing maar, bewerkelijk, tijdrovend, en gevoelig voor fouten. In deze situatie is een programma voor het tonen van de verschillen (afgekort diffs) er handig.

Zoals te verwachten viel, is diff een toepasselijke naam voor een dergelijk programma. Het programma diff is op de meeste op Linux® gebaseerde systemen geïnstalleerd om voor dit doel te kunnen gebruiken. Ontwikkelaars gebruiken vaak diff, als een commandoregel hulpmiddel, om de verschillen tussen meerdere versies van een broncode-bestand te kunnen zien. Maar, het gebruik van diff is niet beperkt tot het tonen van verschillen in broncode-bestanden, u kunt het gebruiken bij veel soorten tekstbestanden.

Het gebruik van diff vanaf de commandoregel kan verwarrend zijn, de diff commando syntax leren en de uitkomst ontcijferen zal voor de meeste mensen verwarrend zijn. Dit is waar Kompare van pas komt. Het geeft een grafisch front-end aan het diff programma, het interface toont bron-bestand en doel-bestand naast elkaar met alle verschillen automatisch gemarkeerd. Met dit als uitgangspunt, kunt u vervolgens wijzigingen in het ene bestand op een gecontroleerde manier in het andere bestand doorvoeren. U hoeft niet alle wijzigingen toe te passen en als u een wijziging toepast dan kunt u het altijd weer 'niet toegepast' maken. Als alle verlangde wijzigingen zijn toegepast dan kunt u het resultaat opslaan en zijn ze in het originele bestand normaal te zien.

Naast het tonen van verschillen tussen een bronbestand en een doelbestand, kunt u Kompare ook gebruiken om een speciaal bestand genaamd 'diff' te creëren en te bekijken. Dit bestand vat de verschillen tussen de twee bronnen samen in een enkel bestand dat u kunt gebruiken om de wijzigingen te bekijken en toe te passen op elk ander kopie van het bestand. Bijvoorbeeld, als twee mensen een document bewerken. De eerste persoon wil wijzigingen maken en verstuurt alleen de wijzigingen naar de tweede persoon. Normaal gesproken verstuurt de eerste persoon een complete kopie van het gewijzigde document naar de tweede persoon, die dan de gewijzigde en de niet gewijzigde versie met elkaar moet vergelijken. Het proces hiervoor komt veel overeen met wat we in de vorige paragrafen hebben beschreven. Om deze te wijzigen maakt de eerste persoon met Kompare van het bestand een lokale kopie, maakt vervolgens hierin de wijzigingen en vergelijkt het origineel met de gewijzigde kopie. Door Kompare te gebruiken is u een diff-bestand te creëren waar alleen de wijzigingen aanwezig zijn. Dit kan naar de tweede persoon verstuurt worden in plaats van het hele bestand waarin de wijzigingen zitten.

Door Kompare te gebruiken kan de tweede persoon het diff bestand bekijken, het met de lokale kopie van het document vergelijken en de wijzigingen toepassen gemaakt door de eerste persoon. Dit proces kan vele versies van de documentatie doorgaan, elk persoon maakt wijzigingen, creëert diffs, distribueert ze en past ze toe. Dit proces wordt meestal patching genoemd, een term dat afkomstig is van het programma patch wat een ander programma voor op de commandoregel is, speciaal ontworpen voor het toepassen van diff-bestanden.

Het komt soms voor dat meerdere mensen tegelijk een bestand bewerken. In een dergelijk geval is het waarschijnlijk dat mensen tegelijk wijzigingen in het document aan dezelfde regel aanbrengen. Dit creëert een probleem omdat zonder extra oplettendheid, mensen elkaars werk kunnen overschrijven bij het toepassen van de ontvangen diff-bestanden. Gelukkig hebben de ontwikkelaars van de diff- en patch-programma´s dit in overweging genomen zodat deze programma´s dergelijke wijzigingen niet toestaan zonder handmatige interventie. Als een dergelijk status is bereikt dan is dat bekend als een conflict. Kompare toont conflicten zodat u deze handmatig kan oplossen, beslissend welke wijzigingen op welke bestanden toegepast moeten worden.

Kompare is ook een geweldig programma voor het vergelijken van bestand-wijzigingen op map-niveau. Bij het gebruik van Kompare voor het vergelijken van mappen onderzoekt het de submappen en de bestanden daarin voor verschillen. In dit geval, elk bestand waar verschillen zijn gevonden wordt automatisch en de verschillen getoond door Kompare zodat makkelijke navigatie tussen de verschillende bestanden mogelijk is.