Diff & Merge

Diff negeert inhoudstype

Alleen interessant wanneer de diff is gemaakt met subversion zelf. Indien ingeschakeld, negeert subversions diff de inhoudstype van de items. Anders geeft het geen diffs van binaries.

Vergelijking (diff) in revisieboom is recursief

Indien ingeschakeld, zijn vergelijkingen (diffs) in een revisieboom recursief zoals in alle andere gevallen. Anders krijgt u alleen alleen de veranderde items in die map te zien. Hoe dat wordt gedaan is afhankelijk van hoe de vergelijkingen (diff) worden gemaakt (door subversion zelf of door een extern programma).

Diff negeert wijzigingen in witruimte

Negeert veranderingen in de hoeveelheid spaties (optie -b naar diff)

Diff negeert alle spaties

Negeer alle spatie's (optie -w van diff)

Extern samenvoegprogramma gebruiken

Schakel dit in om een extern programma te gebruiken en niet de samenvoegmogelijkheid van Subversion

Het git-diff-formaat gebruiken

Kopieën als toevoegen tonen

Externe diff-weergave gebruiken

De selectie van een extern programma voor het tonen van verschillen (diffs). De standaard is Kompare.

Externe diff-weergave

Bepaalt wat kdesvn gebruikt voor de externe weergave van verschillen en hoe het aanroept. Dit kan op drie manieren:

<programma> <parameter>

De vergelijking wordt gemaakt door subversion en direct aan de standaard input van het externe programma doorgegeven (voordeel: geen tijdelijke bestanden nodig)

<programma> <parameter> %f

De vergelijking wordt gemaakt door subversion, bewaart in een tijdelijk bestand, waarbij de parameter %f wordt vervangen door het bestandsnaam. Dit kan worden gebruikt bij een eenvoudige aanroep naar less of een textviewer.

<programma> <parameter> %1 %2

kdesvn laat een extern programma de vergelijking uitvoeren. %1 en %2 worden vervangen door de verlangde waarden (bestandsnamen of mappen). kdesvn bewaart de inhoud die vergeleken moet worden in een tijdelijke omgeving (indien mappen een export uitvoeren, indien een enkel bestand een cat uitvoeren) wanneer nodig en ruimt op na het sluiten van het externe programma of zichzelf.

Extern samenvoegprogramma gebruiken

Indien in het (merge) samenvoeg dialoog Externe samenvoeging gebruiken, niet die van Subversion is wel of niet aangevinkt.

Externe samenvoeg programma

Stelt het programma en de mogelijkheden daarvan in voor gebruik wanneer de ingebouwde mogelijkheden van subversion ongewenst zijn. De standaard is kdiff3 %s1 %s2 %t. De volgorde van de vervangende variabelen is niet belangrijk, en kunnen meer keren voorkomen, bijv. zoals kdiff3 -o %t %s1 %s2 %t. Dit is alleen getest met meld en KDiff3. Bedenk dat externe programma's meestal geen weet hebben van subversion ignore-parameters en dat daarom veel meer te zien is dan verwacht.

Vervangings-variabelen voor het externe (merge) samenvoegprogramma

%s1

Vervangen door bron nummer een.

%s2

Vervangen door bron nummer twee. Als dit leeg is of gelijk aan bron een en begin- en eindrevisie is hetzelfde, dan wordt deze variabele overgeslagen. Wees dus voorzichtig met opstellen van commandoregels zoals xxdiff --title1 %s1 --title2 %s2 %s1 %s2 %t.

%t

Vervang door doel.

Conflict oplossend programma

U kunt een extern programma zoals KDiff3 gebruiken voor het oplossen van conflicten, de standaard keuze is kdiff3 %o %m %n -o %t.

Variable substitutie voor externe conflict oplossend programma

Tussen haakjes na elke beschrijving een voorbeeld hoe subversion de bestanden oproept. Deze keuzes zijn ontworpen voor KDiff3, omdat op dit moment dit het enige programma is die alle parameters ondersteund die nodig zijn om een conflict goed op te lossen.

%o of %l

Oude (lokale,links) versie. Dit betekent dat de lagere revisienummer, bijv. is bijvoorbeeld het startpunt van de veranderingen waar een conflict begint. (foo.cc.r2)

%m of %w

Mijn (werkende) versie van het bestand, bijv.. waar iets verandert is tegenover de oude versie. (foo.cc.mine)

%n of %r

Nieuwe (remote, rechts) versie van het bestand, bijv. de versie die een ander heeft gemaakt. (foo.cc.r3)

%t

Doel naam, bijv. de originele naam. Voor KDiff3 (als voorbeeld) moet dit achter -o parameter (= output file). (foo.cc)