Een van de meest voorkomende eisen in de ontwikkeling van projecten is om te kunnen zien wat er is veranderd. Je zou bijvoorbeeld de verschillen tussen twee herzieningen van hetzelfde bestand, of de verschillen tussen twee aparte bestanden willen bekijken. TortoiseSVN biedt een ingebouwd gereedschap genaamd TortoiseMerge om de verschillen tussen tekstbestanden te kunnen bekijken. Voor het vergelijken van afbeeldingen heeft TortoiseSVN ook een gereedschap genaamd TortoiseIDiff. Natuurlijk kun je hier ook je eigen favoriete programma voor gebruiken als je wilt.
Als je wilt bekijken welke veranderingen jij gedaan hebt in je werkkopie, gebruik je simpelweg het context menu van de verkenner en selecteert → .
Als je wilt zien wat er veranderd is in de basislijn (als je aan een tak werkt) of in een specifieke tak (als je werkt op de basislijn), kun je gebruik maken van het context menu van de verkenner. Je houdt gewoon de Shift-toets ingedrukt terwijl je met de rechtermuisknop op het bestand klikt. Vervolgens selecteer je → . In het dialoogvenster dat volgt, geef je de URL in het archief aan waarmee je het lokale bestand wilt vergelijken.
Je kunt ook gebruik maken van de archief-verkenner. Selecteer hier twee bomen, twee labels, of een tak/label en de basislijn om te vergelijken. Via het daar aanwezige contextmenu kun je ze vergelijken met de paragraaf met de naam “Vergelijken van mappen”.
. Lees meer inAls je het verschil wilt zien tussen een bepaalde revisie en je werkkopie, gebruik je het Logboek dialoogvenster, selecteer je de gewenste revisie, en kies je vervolgens
uit het contextmenu.Als je het verschil wilt zien tussen de laatst vastgelegde revisie en je werkkopie, ervan uitgaande dat de werkkopie niet is gewijzigd, klik je met de rechtermuisknop op het bestand. Vervolgens selecteer je
→ . Dit zal een vergelijking uitvoeren tussen de revisie voor de laatste-vastleg-datum (zoals vastgelegd in je werkkopie) en de werkbasis. Deze toont je de laatste wijziging uitgevoerd op het bestand welke nodig is om deze in de staat te brengen welke je in je werkkopie ziet. Het zal geen wijzigingen tonen die nieuwer zijn dan je werkkopie.Als je het verschil wil zien tussen twee revisies die al vastgelegd zijn, gebruik dan het Revisie Log dialoog en selecteer de twee revisies die je wil vergelijken (met behulp van de gebruikelijke Ctrl-wijziger). Selecteer daarna uit het contextmenu.
Als je dit gedaan hebt vanuit het revisie log van een map, verschijnt er een Vergelijk Revisies dialoog welke een lijst toont met gewijzigde bestanden uit deze map. Lees meer in de paragraaf met de naam “Vergelijken van mappen”.
Wanneer je de wijzigingen van alle bestanden in een bepaalde revisie in één weergave wil zien, kun je hier de Unified-Diff uitvoer (GNU patch formaat) voor gebruiken. Deze toont alleen de wijzigingen met een aantal regels voor de context. Het is moeilijker te lezen als een visuele vergelijking, maar het toont alle wijzigingen bij elkaar. Selecteer vanuit het revisie log dialoog de gewenste revisie en selecteer dan
uit the contextmenu.Als je de verschillen tussen twee verschillende bestanden wil bekijken, dan kun je dat rechtstreeks via de verkenner doen door beide bestanden te selecteren (gebruik makend van de standaard Ctrl-wijziger). Selecteer daarna uit het verkenner contextmenu → .
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 theAls je de verschillen wil zien tussen een bestand in je werkkopie en een bestand in een willekeurig Subversion archief, kun je dat rechtstreeks vanuit de verkenner doen door het bestand te selecteren en terwijl je de Shift ingedrukt houdt met de rechter muisknop erop klikt zodat het contextmenu verschijnt. Selecteer dan → . Je kan hetzelfde doen met een folder uit je werkkopie.TortoiseMerge toont deze verschillen op dezelfde manier als patch bestanden worden getoond - een lijst met gewijzigde bestanden die je in één keer kan zien.
Als je niet alleen de verschillen, maar ook de auteur, de revisie en de wijzigingen die gemaakt zijn wil zien, kun je de verschil en verklaar rapporten vanuit het revisie log dialoog combineren. Ga voor meer informatie naar de paragraaf met de naam “Verklaar Verschillen”.
Met de ingebouwde gereedschappen die met TortoiseSVN worden meegeleverd is het niet mogelijk om verschillen tussen map hiërarchieën te bekijken, maar als je een extern gereedschap hebt welke dat ondersteund, kun je deze hier ook voor gebruiken. In de paragraaf met de naam “Externe Verschil/Samenvoeg gereedschappen” worden een aantal gereedschappen beschreven die wij hebben gebruikt.
Als je een verschil gereedschap van een externe partij hebt geconfigureerd, kun je Shift gebruiken bij het selecteren van het Verschil commando om het alternatieve gereedschap te gebruiken. Lees de paragraaf met de naam “Externe Programma Instellingen” voor meer informatie over het configureren van alternatieve verschil gereedschappen.
Gedurende de loop van een project, zou je kunnen beslissen om de regeleinden te veranderen van CRLF
naar LF
, of je zou het inspringen van een sectie kunnen aanpassen. Dit zal jammer genoeg een groot aantal bestanden markeren als gewijzigd, ook al is er geen verandering in de betekenis van de code. De opties hieronder helpen je om deze wijzigingen te hanteren tijdens het vergelijken en toepassen van verschillen. Je komt deze instellingen tegen in de Samenvoeg en Verklaar dialogen, maar ook bij de instellingen van TortoiseMerge.
Negeer regeleinden negeert wijzigingen die uitsluitend veroorzaakt worden door een verschil in stijl van regeleinden.
Vergelijk witregels toont alle wijzigingen in inspringen en witregels als toegevoegde/verwijderde regels.
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.
Alle spaties en witregels negeren sluit alles uit waar alleen wijzigingen aan spaties en/of witregels zijn gemaakt.
Natuurlijk wordt elke regel met gewijzigde inhoud altijd aan het verschil toegevoegd.
Als je twee bomen selecteert in de archief verkenner, of wanneer je twee revisies van een map selecteert in het log dialoog, kun je → .
Deze dialoog toont een lijst met alle bestanden die zijn veranderd en staat je toen om deze individueel te vergelijken of te verklaren via het context menu.
Je kan een wijzigings boom exporteren, welke handig kan zijn als je iemand anders de boomstructuur van je project wil sturen, maar daar alleen de gewijzigde bestanden in wilt hebben. Deze operatie werkt alleen op de geselecteerde bestanden, dus dien je de gewenste bestanden - meestal betekent dit alle bestanden - te selecteren en daarna → . Je krijgt de vraag op welke locatie je deze wijzigingsboom wilt opslaan.
Je kan de lijst met gewijzigde bestanden ook exporteren naar een tekstbestand via → .
Als je de lijst met bestanden en de bijbehorende acties (gewijzigd, toegevoegd, verwijderd) wil exporteren, kun je dat doen via → .
Met de knop bovenaan kun je de richting waarin vergeleken wordt aanpassen. Je kan de wijzigingen zien die nodig zijn om van A naar B te komen, maar als je dat liever hebt, van B naar A.
De knoppen met de revisie nummers erop kunnen gebruikt worden om het revisie bereik te veranderen. Als je dit bereik verandert, zal de lijst met items die verschillen tussen deze twee revisies automatisch ververst worden.
Als de lijst met bestandsnamen erg lang is, kun je het zoekvak gebruiken om de lijst te reduceren tot bestandsnamen die een specifieke tekst bevatten. Bedenk hierbij dat een simpele manier van zoeken op tekst wordt gebruikt, dus als je de lijst wil beperken tot C bron bestanden, zul je moeten zoeken op .c
in plaats van *.c
."
Er zijn veel gereedschappen beschikbaar waarmee verschillen tussen tekst bestanden bekeken kunnen worden, inclusief onze eigen TortoiseMerge, maar vaak willen we ook kunnen zien hoe een afbeelding veranderd is. Daarom hebben we TortoiseIDiff gemaakt.
→ uitvoeren op één van de meest voorkomende formaten voor afbeeldingen zal TortoiseIDiff starten om de verschillen tussen afbeeldingen te tonen. Standaard zullen de afbeeldingen naast elkaar worden getoond, maar je kan via het View menu of de werkbalk instellen dat ze boven elkaar getoond worden. Als je dat wilt, kun je ze zelfs over elkaar leggen en doen of je een lightbox gebruikt.
Natuurlijk kan je ook in en uit zoomen en de afbeelding verplaatsen. De afbeelding kan ook eenvoudig verplaatst worden door te slepen met de linker muisknop. Als je de optie Koppel afbeeldingsposities selecteert, dan worden de verplaats regelaars (schuifbalken, muiswiel) voor beide afbeeldingen gekoppeld.
Een afbeeldingsinformatie scherm toont details over de afbeelding, zoals de grootte in pixels, resolutie en kleurdiepte. Als dit scherm in de weg zit, gebruik dan
→ om het te verbergen. Je krijgt dezelfde informatie in een tooltip wanneer je de muis over de titel van de afbeelding laat zweven.Als de afbeeldingen over elkaar zijn gelegd, wordt de intensiteit van de afbeeldingen (alpha mix) bestuurd met de schuifbalk aan de linkerkant. Je kan op een willekeurige plek op de schuifbalk klikken om de mix direct te veranderen. Ook kan je de balk verschuiven om de mix interactief te veranderen.
De knop boven de schuifbalk schakelt tussen 0% mix en 100% mix. Als je dubbel klikt op de knop, zal de mix elke seconde automatisch schakelen totdat je nog een keer op de knop klikt. Dit kan handig zijn als je verschillende kleine wijzigingen zoekt.
Soms wil je een verschil zien in plaats van een mix. Je zou bijvoorbeeld van twee herzieningen van een afbeelding voor een printplaat willen zien welke paden zijn gewijzigd. Als je de alpha-mix modus uitzet, zal het verschil getoond worden als een XOR van de kleur van de pixel waarden. Ongewijzigde gebieden zullen getoond worden als wit en veranderingen zullen worden gekleurd.
When you want to diff non-text documents you normally have to use the software used to create the document as it understands the file format. For the commonly used Microsoft Office and Open Office suites there is indeed some support for viewing differences and TortoiseSVN includes scripts to invoke these with the right settings when you diff files with the well-known file extensions. You can check which file extensions are supported and add your own by going to External Programs section.
→ and clicking in theIf you installed the Click-to-Run version of Office 2010 and you try to diff documents you may get an error message from Windows Script Host something like this: “ActiveX component can't create object: word.Application”. It seems you have to use the MSI-based version of Office to get the diff functionality.
Als de gereedschappen die wij aanbieden niet doen wat je nodig hebt, kun je één van de vele beschikbare open-source of commerciële programma’s gebruiken. Iedereen heeft zo zijn eigen favoriet, en deze lijst is verre van compleet, maar hier zijn er een aantal die je zou kunnen overwegen:
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 is een gratis verschil gereedschap welke ook mappen kan vergelijken. Je kan het hier downloaden.
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. Het kan omgaan met bestanden, maar niet met mappen. ExamDiff Pro is shareware en voegt een aantal ‘goodies’ toe waaronder het vergelijken van mappen en een bewerken functionaliteit. Beide smaken, versie 3.2 en hoger, kunnen omgaan met unicode. Je kan ze downloaden van 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.
Lees de paragraaf met de naam “Externe Programma Instellingen” voor informatie over het gebruiken van deze gereedschappen binnen TortoiseSVN."