2022/09/06 19:53:28 (r29447)
Inhaltsverzeichnis
Abbildungsverzeichnis
Tabellenverzeichnis
Inhaltsverzeichnis
Wann immer Sie an einem Projekt arbeiten, sei es ein Open-Source-Projekt, wo mehrere Leute den Sourcecode einsehen, oder sei es ein kommerzielles Projekt, in dem Sie eine Komponente mit Sourcecode verkaufen, wird es immer Leute und Kunden geben, die Fehler finden oder Ihr Projekt verbessern wollen. Sie tun dies, indem sie Ihnen sogenannte Patchdateien senden. Sie müssen dann diese Patchdateien durchsehen und entscheiden, ob Sie die Änderungen in Ihr Projekt übernehmen oder nicht.
TortoiseMerge hilft Ihnen bei diesen beiden Aufgaben:
Patchdateien überprüfen
Patchdateien anwenden
TortoiseMerge hilft Ihnen ebenfalls beim Auflösen von Konflikten, die bei der Arbeit mit einem Versionskontrollsystem auftreten können, wenn andere gleichzeitig an denselben Dateien arbeiten wie Sie.
TortoiseMerge ist freie Software. Sie brauchen nichts dafür zu bezahlen. Sie können das Programm benutzen, wie Sie wollen. TortoiseMerge wird unter der General Public License (GPL) entwickelt.
TortoiseMerge ist ein Open-Source-Projekt. Das bedeutet, dass Sie vollen Zugang zum Quellcode des Programms haben. Der Code findet sich hier: https://osdn.net/projects/tortoisesvn/scm/svn/. Die aktuellste Version, an der wir gerade arbeiten, findet sich unter /trunk/
und die veröffentlichten Versionen finden sich unter /tags/
.
für die harte Arbeit an TortoiseMerge
für die wundervollen Icons, das Logo, die unermüdliche Fehlersuche und die Dokumentation
für einige der Stile, die in dieser Dokumentation wiederverwendet werden.
für die Patches, Fehlermeldungen und dafür, dass sie anderen helfen, indem Sie Fragen auf unserer Mailingliste beantworten.
für viele Stunden voll toller Musik, die sie uns geschenkt haben.
Inhaltsverzeichnis
TortoiseMerge ist ein freies Open-Source-Programm. Sie können damit Unterschiede in Textdateien zeigen, diese Unterschiede zusammenführen und auch Standard-Diff-Dateien, sogenannte Patchdateien, auf Ihre Arbeitskopie anwenden.
Wenn Sie mit Textdateien, z. B. Quelltexten ihrer bevorzugten Programmiersprache oder HTML-/XML-Dateien Ihrer Dokumentation oder Webseite arbeiten, werden Sie öfters in eine Situation kommen, in der Sie verschiedene Versionen von solchen Dateien vergleichen möchten. Manchmal erhalten Sie eine veränderte Datei von jemand anderem, manchmal möchten Sie einfach nachsehen, was Sie an einer Datei schon alles geändert haben.
Wenn Sie mit einem Versionskontrollsystem arbeiten (z. B. Subversion), dann werden Sie manchmal einen Konflikt erhalten, wenn Sie Ihre Arbeitskopie aktualisieren. Dies passiert, wenn jemand anders die gleichen Stellen der Datei geändert hat wie Sie. Dann müssen Sie diesen Konflikt von Hand wieder auflösen. TortoiseMerge hilft Ihnen dabei.
Das folgende Diagramm zeigt die Beziehung zwischen den verschiedenen Dateien bei einem Konflikt:
Während der Arbeit an TortoiseSVN war es jedes Mal sehr aufwendig, wenn jemand uns Patches mit Fehlerkorrekturen oder Erweiterungen zugeschickt hat, diese Patches auch einzubinden. Häufig waren die Patches veraltet und konnten mit dem Kommandozeilenprogramm https://unxutils.sourceforge.net/ nicht appliziert werden, da wir an den Dateien arbeiteten und diese manchmal bereits geändert waren.
Das war auch der Hauptgrund, weshalb TortoiseSVN keinen Befehl
→ implementiert hatte: Wir wollten statt der Patchdateien lieber die ganzen Dateien von den Anwendern haben, weil es für uns einfacher war, Änderungen auf diese Weise zum Projekt hinzuzufügen.Also haben wir viel Zeit damit verbracht, das Internet nach einem guten grafischen Tool abzusuchen, das Patchdateien zu Projekten hinzufügen konnte. Aber alles, was wir fanden, war, dass ein solches Programm nicht existierte. Um eine lange Geschichte zu einem Ende zu bringen: Wir haben dann beschlossen, dass wir eben selbst eines schreiben müssen, wenn niemand ein solches Tool anbietet. So entstand TortoiseMerge.
Da TortoiseSVN schon die Subversion-Bibliothek benutzt, die gute Vergleichsfunktionen enthält, war es nur natürlich, dieselbe Funktionsbibliothek anstelle von GNU Diff für TortoiseMerge zu nutzen.
Mit Subversion 1.7 wurde der Befehl svn patch eingeführt, um einen Patch auf eine Arbeitskopie anzuwenden. TortoiseMerge verwendet nun dieselben Funktionen wie Subversion, um Unterschiede im Verhalten zu vermeiden.
TortoiseMerge hat verschiedene Verwendungszwecke:
Anzeigen von Unterschieden zwischen zwei Dateien, Zusammenführen von gewünschten und Entfernen unerwünschter Änderungen in einer der beiden Dateien.
Bearbeiten von Konflikten zwischen lokalen Änderungen und dem Subversion-Projektarchiv in Folge einer Aktualisierung.
Patches anwenden und überprüfen.
In diesem Modus vergleichen Sie zwei Dateien. Die links angezeigte Datei stellt das Original dar (manchmal auch als Deren bezeichnet) und die rechte Datei die geänderte (manchmal auch als Meine bezeichnet).
Sie können einfache zeilenbasierte Änderungen an der Datei im rechten Bereich vornehmen, darunter:
Geänderten Text auf das Original im linken Bereich zurücksetzen.
Eine Kombination aus beiden Blöcken, entweder Deren vor Meinem oder Meinen vor Deren übernehmen.
Sie können die Datei im rechten Bereich wie in einem Texteditor bearbeiten. Solche Zeilen werden durch einen Stift gekennzeichnet. Beachten Sie bitte, dass Sie, wenn Sie Zeilen- oder Blockoperationen vornehmen, diese zuerst - vor manuellen Änderungen - durchführen. Für TortoiseMerge wird es sonst unmöglich, die Beziehungen zu den Originaldateien aufrecht zu erhalten.
Dies wird manchmal als Dreiwegevergleich bezeichnet und wird in drei Bereichen angezeigt. Tatsächlich sind aber vier Dateien involviert. Die nicht angezeigte Datei ist die gemeinsame Basis, der letzte Vorgänger der beiden, sich in Konflikt befindenden Dateien. Die Beziehungen zwischen den drei Dateien stellen sich wie folgt dar:
Die Basis-Datei entspricht der ältesten Version einer Datei, von der aus Sie und die Anderen Änderungen vorgenommen haben. Meine entspricht dabei der Basisdatei mit allen Änderungen, die Sie selbst vorgenommen haben und wird im rechten Bereich angezeigt. Deren entspricht der Basisdatei mit allen Änderungen, die die Anderen gemacht haben und wird im linken Bereich angezeigt. Der untere Bereich enthält die Ausgabedatei. In dieser werden die Konflikte aufgelöst.
Im Dreiwegevergleich, können Sie Blöcke aus Meiner oder Deren Datei oder aus beiden verwenden. Nur gehen in diesem Fall die Änderungen in die Zieldatei, die im unteren Bereich angezeigt wird.
Ein Patchdatei ist eine Subversion-Standard-Diff-Datei, die Informationen über Änderungen an einem Satz von Dateien enthält. Der Patch kann von einem anderen Entwickler stammen, sodass Sie seine Änderungen anwenden, überprüfen und gegebenenfalls in das Projektarchiv übertragen können. Die Patchdatei kann auch intern durch TortoiseSVN beim Vergleich zweier Ordner generiert werden. Dies geschieht zum Beispiel, wenn Sie eine Revision im Projektarchiv mit der Arbeitskopie oder auch zwei Revisionen im Projektarchiv oder zwei verschiedene Pfade im Projektarchiv miteinander vergleichen.
In jedem Fall wird TortoiseMerge ein kleines Fenster mit den vom Patch betroffenen Dateien anzeigen. Durch einen Doppelklick auf eine der Dateien wird die Ausgangsrevision geholt und die Änderungen werden angewendet. Im linken Bereich wird die Originaldatei und im rechten die veränderte Datei angezeigt.
Sie können die Datei im rechten Bereich genauso wie im Vergleichsmodus bearbeiten.
Inhaltsverzeichnis
TortoiseSVN besitzt drei verschiedene Ansichten: mit einem, zwei oder drei Bereichen. Die Ein-/Zweifensteransicht dient zum Betrachten von Änderungen und die Dreifensteransicht zum Auflösen von Konflikten.
Die Zweifensteransicht bietet einige Möglichkeiten, die in der Einfensteransicht nicht zur Verfügung stehen:
Unterschiede innerhalb einer Zeile werden in verschiedenen Farben angezeigt. Hinzugefügte Zeichen werden in einer helleren Farbe dargestellt, aber sie können selbstverständlich die verwendeten Farben einstellen. Gelöschte Abschnitte werden durch eine dunkelbraune senkrechte Linie angezeigt.
Die Reorganisation von Quellcode führt häufig zu größeren Änderungen an Leerzeichen (Leerzeichen, Tabulatoren, Leerzeilen) ohne tatsächliche Änderungen am Programmcode. Zum Beispiel spalten Sie eine sehr lange Zeile in mehrere kurze Zeilen auf oder lassen einen automatischen Quellcodeformatierer über den Programmcode laufen.
Solche Änderungen werden durch einen weißen Kreis am linken Rand der Bereiche dargestellt. Wenn Sie einen Kreis sehen, wissen Sie sofort, dass keine echte Codeänderung vorliegt und Sie den Block nicht genauer untersuchen müssen.
Manuelles Bearbeiten der rechten Datei ist in der Zweifensteransicht möglich. Änderungen werden durch ein Stiftsymbol gekennzeichnet. Manuelles Bearbeiten der linken Datei ist nur möglich, wenn die Schaltfläche
bei aktiver linker Seite gedrückt wurde.Für den Fall, dass Sie drei Dateien zusammenführen möchten, zeigt TortoiseMerge Ihnen diese in drei Bereichen an. Die gleiche Ansicht wird auch für das Auflösen von Konflikten verwendet.
Der linke Bereich zeigt Ihnen die Unterschiede zwischen Deren Datei und der Basis-Datei, während der rechte Bereich die Unterschiede zwischen Meiner Datei und der Basis-Datei darstellt. Der untere Bereich zeigt Ihnen das Ergebnis des Zusammenführens der drei Dateien inklusive möglicher Konflikte.
Wenn Sie mit der Maus über die Titelzeile jedes Bereichs fahren, wird Ihnen der Name der jeweiligen Datei in einem Hinweistext angezeigt.
Manuelles Bearbeiten der linken Datei ist nur möglich, wenn die Schaltfläche
bei aktiver linker Seite gedrückt wurde.Nachdem TortoiseMerge die Patchdatei eingelesen hat, wird ein kleines Dialogfenster mit allen Dateien, die durch den Patch geändert würden, angezeigt.
Wenn der Dateiname schwarz ist, kann der Patch ohne Probleme übernommen werden, weil die Zieldatei dem in der Patchdatei angegebenen Stand entspricht. Ist der Dateiname hingegen rot, dann kann der Patch nicht direkt übernommen werden, da die Zieldatei schon anderweitig geändert wurde.
Das Patchdateifenster hat ein Kontextmenü, das Ihnen eine Vorschau der Änderungen an der aktuellen Datei ermöglicht (Anwenden, ohne zu speichern) sowie die Anwendung und Speicherung der Änderungen für die ausgewählte Datei oder auf alle Dateien in der Liste ermöglicht. Ein Doppelklick startet die Vorschau.
Abhängig von Ihren Einstellungen, sehen Sie entweder eine Werkzeugleiste oder ein Band mit vielen Schaltflächen. Die Schaltflächen besitzen alle einen HInweistext, der ihre Funktion erläutert, sobald Sie mit der Maus darüber fahren.
Am linken Rand ist eine Navigationsleiste. Diese liefert einen schnellen Überblick, wo sich Änderungen in der Datei befinden. Die Leiste hat drei Spalten. Die linke Spalte entspricht dem linken Bereich, die rechte Spalte dem rechten Bereich, die mittlere Spalte, falls angezeigt, dem unteren Bereich. In der Einfensteransicht wird nur die linke Spalte benutzt. Die Navigationsleiste kann auch als Bildlaufleiste benutzt werden, wobei sich dann alle drei Bereiche synchron verschieben.
Wenn Sie auf ein Wort doppelklicken, wird jedes Vorkommen des Wortes im gesamten Dokument hervorgehoben, sowohl in den Fenstern als auch in der Navigationsleiste. Doppelklicken Sie erneut auf das Wort, um die Markierung zu entfernen.
Wenn Sie am linken Rand klicken oder wenn Sie innerhalb einer Zeile dreifach klicken, wird die gesamte Zeile ausgewählt.
Unterhalb des Fensters befindet sich die Statusleiste. Diese zeigt die Anzahl der in Deren
und Meine
hinzugefügten oder gelöschten Zeilen sowie die Anzahl der verbleibenden Konflikte.
Die Statusleiste enthält auch Kombinationsfeld-Steuerelemente, die festlegen, wie die Dateien behandelt werden sollen:
Die Codierung legt fest, wie die Zeichen in den Ansichten geladen, gespeichert und angezeigt werden. Die häufigste Zeichencodierung in Englisch ist ASCII (dies bedeutet die lokale Kodierung der Betriebssystemsprache). Sie können aber auch UTF8, UTF16LE, UTF16BE, UTF32LE und UTF32BE mit oder ohne BOM (Byte Order Mark) einstellen.
Unter Windows ist wird üblicherweise CRLF als Zeilenumbruch verwendet, aber Sie können die von Ihnen gewünschte Variante auswählen. Wenn Sie die Zeilenumbrüche ändern, werden alle Zeilenumbrüche in der gesamten Datei entsprechend geändert, auch wenn sie beim Laden unterschiedlich waren.
Die Option oberhalb des Kombinationsfeldes legt fest, ob Tabulatoren oder Leerzeichen eingefügt werden, wenn Sie die Tabulatortaste drücken. Wenn die Option Intelligenter Tabulator aktiviert ist, wird über einen Algorithmus festgestellt, welche Variante die bessere von beiden ist.
Die Tabulatorgröße legt fest, wie viele Leerzeichen eingefügt werden, wenn die Tabulatortaste gedrückt wird, beziehungsweise wie weit das nächste Wort bei einem Tabulatorzeichen eingerückt wird.
In geänderten Zeilen wird die Art der Änderung durch ein Symbol angezeigt.
Eine Zeile wurde hinzugefügt.
Eine Zeile wurde entfernt.
Eine Änderung wurde durch das Zurücksetzen einer Zeile auf ihren Ursprungszustand zurückgenommen.
Diese Zeile enthält nur Änderungen in Leerzeichen. Falls mehrere aufeinanderfolgende Zeilen markiert sind, wurde eventuell ein Absatz neu umgebrochen.
Eine Zeile wurde manuell in TortoiseSVN geändert.
Diese Zeile enthält einen Konflikt.
Diese Zeile enthält einen Konflikt, der aufgrund der Vergleichsoptionen für Zeilenende oder Leerzeichen nicht sichtbar ist.
Diese Zeile wurde an eine andere Stelle verschoben.
TortoiseMerge zeigt Ihnen nicht nur die Unterschiede zwischen Dateien an, sondern lässt Sie diese Änderungen auch übernehmen und Konflikte lösen.
Wenn Sie in der Zweifensteransicht sind, dann können nur Sie die Datei im rechten Bereich (Meiner
Version) ändern. Um Unterschiede aus der linken Datei (Deren
) in die rechte zu übernehmen, machen Sie einen Rechtsklick auf die unterschiedliche Zeile und wählen Sie den gewünschten Befehl aus dem Kontextmenü aus.
Manchmal benötigen Sie beide Textblöcke. Das Kontextmenü bietet Ihnen die entsprechenden Funktionen
→ und → an.Sie können die Ausgabedatei wie in einem Texteditor bearbeiten. Solche Zeilen werden durch einen Stift gekennzeichnet. Wenn Sie Zeilen- oder Blockoperationen vornehmen, müssen Sie diese zuerst - vor manuellen Änderungen - durchführen, da es für TortoiseMerge sonst unmöglich wird, die Beziehungen zu den Originaldateien aufrecht zu erhalten.
Wenn Sie einen Dreiwegevergleich durchführen (auch Zusammenführen- oder Konfliktansicht genannt), können Sie nur die Ergebnisdatei im unteren Bereich bearbeiten. Wie auch in der Zweifensteransicht können Sie durch einen Rechtsklick auf Zeilen im Konflikt ein Kontextmenü anzeigen lassen und dann auswählen, wie Sie den Konflikt auflösen möchten. Sie können damit den rechten oder linken Block auswählen, aber auch beide Blöcke entweder „Meiner vor Deren“ oder „Deren vor Meinem“ in die Zieldatei übernehmen.
Manchmal wird in Subversion ein Dateikonflikt angezeigt, es sind jedoch keine Unterschiede sichtbar, wenn Sie die Datei in TortoiseMerge betrachten. Das kann an Ihren Einstellungen für den Vergleich von Leerzeichen oder Zeilenumbrüchen liegen. Falls Sie beschlossen haben, solche Änderungen zu ignorieren, werden die entsprechenden Zeilen durch das Symbol Konflikt Ignoriert gekennzeichnet. Um den Konflikt aufzulösen, müssen Sie trotzdem eine der beiden Varianten auswählen.
Beachten Sie, dass alle Änderungen der Ergebnisdatei verworfen werden, wenn TortoiseMerge nochmals mit denselben Dateien aufgerufen wird, egal ob durch TortoiseMerge oder manuelles Bearbeiten, und die Ergebnisdatei im Ursprungszustand wiederhergestellt wird.
Wenn Sie TortoiseMerge ohne Kommandozeilenbefehle starten, dann müssen Sie die Dateien mit
→ von Hand öffnen.Als erstes müssen Sie entscheiden, ob Sie Dateien vergleichen / zusammenführen oder eine Patchdatei anwenden möchten. Je nachdem, was Sie wählen, werden die entsprechenden Schaltflächen und Eingabefelder aktiviert.
Wenn Sie Dateien vergleichen / zusammenführen möchten, müssen Sie mindestens zwei der drei möglichen Pfade für Basis, Meiner und Deren angeben. Wenn Sie nur zwei Dateien auswählen, wird TortoiseMerge Ihnen die Unterschiede zwischen diesen Dateien entweder in einem Bereich übereinander oder in zwei Bereichen nebeneinander anzeigen.
Wenn Sie drei Dateien zusammenführen, zeigt TortoiseMerge Ihnen diese in einer Dreifensteransicht. Diese Ansicht wird im Allgemeinen zum Auflösen von Konflikten verwendet. Die Ausgabedatei hat in diesem Fall keinen Namen und Sie müssen das Ergebnis mittels
→ sichern.Die meisten Optionen auf dieser Seite sind selbsterklärend. Ein paar benötigen jedoch ergänzende Informationen.
Erstelle Sicherheitskopie benennt die Originaldatei in der Arbeitskopie in Dateiname.bak
um, bevor die Änderungen gespeichert werden.
Wenn Standardmäßig UTF-8-Codierung festgelegt ist, werden ANSI-Dateien als UTF-8 codiert geladen und nach der Bearbeitung als solche gespeichert.
Maximale Zeilenlänge für Inline-Diffs TortoiseMerge kann langsam werden, wenn Inline-Diffs für sehr lange Zeilen angezeigt werden sollen. Deshalb werden nur Zeilen, die kürzer als 3000 Zeichen sind, mit Inline-Diffs angezeigt. Sie können diesen Wert hier ändern.
Ignoriere Zeilenende verbirgt Änderungen, die nur aus unterschiedlichen Zeilenumbrüchen bestehen.
Ignoriere Groß-/Kleinschreibung verbirgt Groß-/Kleinbuchstaben-Änderungen. Dies ist besonders nützlich bei Anwendungen wie Visual Basic, die die Schreibweise von Variablen ohne Warnung ändern.
Auf dieser Seite können Sie die Hintergrundfarben zum Hervorheben der verschiedenen Änderungen einstellen.
Inhaltsverzeichnis
Liste der Tastaturkürzel und Befehle.
Das Programm beenden
Den markierten Text in die Zwischenablage kopieren
Den markierten Text in die Zwischenablage ausschneiden
Den markierten Text aus der Zwischenablage einfügen
Die letzten Änderungen rückgängig machen
Den Dialog zum Suchen und Ersetzen von Text öffnen
Dateien zum Vergleichen/Zusammenführen öffnen
Änderungen speichern
Speichern unter...
Zum nächsten Unterschied gehen
Zum vorherigen Unterschied gehen
Dateien neu laden und alle Änderungen rückgängig machen
Platzhalter für nicht druckbare Zeichen anzeigen/verstecken
Unveränderte Abschnitte anzeigen/verstecken
Zeilen umbrechen/nicht umbrechen
Gehe zu Zeile
Gesamten Text auswählen
Anzeige links/rechts rollen
Zwischen linker/rechter/unterer Ansicht wechseln
Ausgewählte Änderung markieren/nicht markieren
Zwischen Einfensteransicht und Zweifensteransicht wechseln
Ausgewählte Änderung markieren/nicht markieren
Ansichten umschalten
Verwende den linken Block
Inhaltsverzeichnis
TortoiseMerge kann auch über die Kommandozeile gestartet werden. Auf diese Weise können die zu vergleichenden Dateien direkt ohne den Öffnen Dialog angegeben werden. Dies ist vor allem dann nützlich, wenn Sie TortoiseMerge aus einer anderen Anwendung heraus aufrufen wollen.
Die meisten Befehle benötigen zusätzliche Informationen, wie einen Pfad oder einen anderen Parameter. Zur Übergabe des Parameters hängen Sie einfach einen ':' an den Befehl an und schreiben den Parameter dahinter. Zum Beispiel:
/base:"C:\Ordner\Meine Basisdatei.txt"
Tabelle B.1. Liste der Kommandozeilenbefehle
Befehl | Beschreibung |
---|---|
/? | Zeigt einen Dialog mit allen möglichen Kommandozeilenbefehlen an. |
/help | Das Gleiche wie ? . |
/base | Definiert die Datei Basis für einen Dreiwegevergleich. Diese ist der gemeinsame Vorgänger der zu vergleichenden Dateien, auch wenn sie nicht angezeigt wird. Beim Zweiwegevergleich wird die Datei im linken Bereich angezeigt. |
/basename | Der Anzeigename der Basisdatei. Er wird statt des Dateinamens in der Titelzeile oder beim Dreiwegevergleich in einem Hinweistext angezeigt. |
/basereflectedname | Der Name für die Editor-Konfigurationsschablonen. |
/theirs | Definiert die Deren-Datei für einen Dreiwegevergleich, die im linken Bereich angezeigt wird. |
/theirsname | Der Anzeigename von Deren Datei. Er wird statt des Dateinamens in der Titelzeile angezeigt. |
/theirsreflectedname | Der Name für die Editor-Konfigurationsschablonen. |
/mine | Definiert die Meine-Datei, die sowohl beim Dreiwege- als auch im Zweiwegevergleich im rechten Bereich dargestellt wird. |
/minename | Der Anzeigename von Meiner Datei. Er wird statt des Dateinamens in der Titelzeile angezeigt. |
/minereflectedname | Der Name für die Editor-Konfigurationsschablonen. |
/merged |
Legt die zusammengeführte Ergebnisdatei fest, die in Vergleichen verwendet wird. Dies ist der Dateipfad, in dem das Ergebnis des Zusammenführens bzw. des Konfliktauflösens gespeichert wird. Wenn dieser Parameter für einen Dreiwegevergleich nicht angegeben wurde, fragt TortoiseSVN den Anwender, wo die Ergebnisse gespeichert werden sollen. Wenn dieser Parameter für einen Zweiwegevergleich nicht angegeben wurde, wird TortoiseSVN automatisch die im rechten Bereich angezeigte Datei als Ziel verwenden. |
/mergedname | Der Anzeigename der Zieldatei. Er wird statt des Dateinamens in der Titelzeile angezeigt. |
/mergedreflectedname | Der Name für die Editor-Konfigurationsschablonen. |
/patchpath | Der Pfad, in dem ein Patch angewendet werden soll. Wenn Sie diesen Parameter nicht angeben, versucht TortoiseMerge selbst, einen zu den Pfaden in der Patchdatei passenden Basispfad herauszufinden, aber das kann sehr lange dauern. |
/saverequired | Diese Option zwingt TortoiseMerge dazu, vor dem Beenden danach zu fragen, ob die Datei gespeichert werden soll, selbst wenn der Anwender keine Änderungen vorgenommen hat. |
/saverequiredonconflicts | Diese Option zwingt TortoiseMerge dazu, vor dem Beenden bei Konflikten danach zu fragen, ob die Datei gespeichert werden soll, selbst wenn der Anwender keine Änderungen vorgenommen hat. |
/patchoriginal | Der Anzeigename der zu patchenden Originaldatei. |
/patchpatched | Der Anzeigename der Zieldatei. |
/diff | Der Pfad zu der Patch-/Diff-Datei, die auf ein Verzeichnis angewendet werden soll. |
/oneway | Zwingt TortoiseMerge, mit der Einfensteransicht statt der in den Optionen eingestellten Sicht zu starten. |
/reversedpatch | Vertauscht die Dateien im rechten und linken Bereich. |
/createunifieddiff | Erzeugt eine Standard-Diff-Datei (Patchdatei) aus den beiden in /origfile:"pfad_der_orginaldatei" und /modifiedfile:"pfad_der_geänderten_datei" übergebenen Dateien. Das Ziel wird in /outfile:"pfad_der_ergebnisdatei" spezifiziert. Wenn /outfile leer ist, wird ein „Datei Speichern“-Dialog angezeigt, in dem der Anwender die Ausgabedatei angeben kann. Hinweis: Wenn /createunifieddiff gesetzt ist, werden alle anderen Parameter ignoriert. |
/line | Gibt die Zeilennummern an, in die nach dem Laden der Dateien gesprungen werden soll. |
/readonly | Verhindert, dass die Datei bearbeitet wird. Das heißt, die Bearbeitungsfunktionen von TortoiseMerge sind deaktiviert. |
/nosvnresolve | Hindert TortoiseSVN daran, nachzufragen, ob eine Datei nach dem Speichern in SVN als aufgelöst markiert werden soll. |
Sie können aus Kompatibilitätsgründen mit anderen Vergleichsprogrammen auch einfache Dateinamen auf der Befehlszeile übergeben. In der vereinfachten Form sieht der Aufruf folgendermaßen aus
TortoiseMerge BasisDateiPfad MeinDateiPfad [ DerenDateiPfad ]
Bei zwei Dateien werden diese miteinander verglichen. Bei drei Dateien wird die erste als BASE-Datei verwendet und die beiden anderen in einem Dreiwegevergleich mit ihr verglichen.
Ein Subversion-Befehl, der zum Hinzufügen von Dateien oder Ordnern zu einem Projektarchiv benutzt wird. Die neuen Objekte werden beim Übertragen zum Projektarchiv hinzugefügt.
Die aktuelle Basisrevision einer Datei oder eines Ordners in Ihrer Arbeitskopie. Dies ist die Revision, in der sich die Datei oder der Ordner befand, als zuletzt Auschecken, Aktualisieren oder Übertragen aufgerufen wurde. Die BASE-Revision entspricht normalerweise nicht der HEAD-Revision.
Dieser Befehl steht nur für Textdateien zur Verfügung und er annotiert jede Zeile mit der Revision und dem letzten Autor. In unserer GUI-Anwendung namens TortoiseBlame wird zusätzlich die Logmeldung angezeigt, wenn Sie mit der Maus über die Revisionsnummer fahren.
Ein Begriff, der häufig in Versionskontrollsystemen verwendet wird, um zu beschreiben, wenn sich die Entwicklung an einem bestimmten Punkt verzweigt und verschiedenen Wegen folgt. Sie können von der Hauptentwicklungslinie abzweigen, um neue Funktionen zu implementieren, ohne den Hauptzweig instabil zu machen. Genauso können Sie eine stabile freigegebene Version abzweigen, an der Sie nur noch Fehler beseitigen, während die Weiterentwicklung am instabilen Hauptzweig erfolgt. In Subversion sind Zweige als „billige Kopien“ implementiert.
Ein Subversion-Befehl, der eine lokale Arbeitskopie in einem leeren Verzeichnis erstellt, indem versionierte Dateien aus einem Projektarchiv heruntergeladen werden.
Ein Zitat aus dem Subversion-Buch: „Bereinigt die Arbeitskopie rekursiv, entfernt dabei Sperren und setzt unvollendete Operationen fort. Wenn Sie jemals einen Fehler Arbeitskopie gesperrt bekommen, führen Sie diesen Befehl aus, um veraltete Sperren zu entfernen und Ihre Arbeitskopie wieder in einen nutzbaren Zustand zu versetzen.“ Beachten Sie, dass in diesem Zusammenhang Sperren lokale Dateisystemsperren bezeichnet und keine Sperren im Projektarchiv.
Dieser Subversion-Befehl wird verwendet, um die Änderungen in Ihrer lokalen Arbeitskopie zurück in das Projektarchiv zu übertragen.
Wenn Änderungen vom Projektarchiv mit den lokalen Änderungen zusammengeführt werden sollen, kann es vorkommen, dass diese Änderungen in denselben Zeilen der Datei auftreten. In diesem Fall kann Subversion nicht selbst entscheiden, welche Version zu verwenden ist und die Datei wird somit als „in Konflikt“ markiert. Sie müssen die Datei von Hand editieren und den Konflikt auflösen, bevor Sie weitere Änderungen übertragen können.
In einem Subversion-Projektarchiv können Sie eine Kopie einer einzelnen Datei oder eines ganzen Baumes erstellen. Diese sind als „billige Kopien“ in Form eines Verweises auf das Original implementiert. Somit benötigt selbst die Kopie eines Dateibaumes fast keinen Platz. Eine Kopie behält die Historie ihrer Vorgänger, sodass auch Logmeldungen über die Kopie hinaus verfolgt werden können.
Wenn Sie ein versioniertes Objekt löschen (und dann übertragen), existiert die Datei oder Ordner nach der übertragenen Revision nicht mehr im Projektarchiv. Aber selbstverständlich existiert diese noch in früheren Revisionen und es kann immer noch darauf zugegriffen werden. Falls nötig, können Sie das gelöschte Objekt wieder in die Arbeitskopie kopieren und es so mit der kompletten Historie „wiederherstellen“.
Abkürzung für „Zeige Unterschiede“. Sehr nützlich, wenn Sie genau sehen wollen, welche Änderungen Sie vorgenommen haben.
Dieser Befehl erzeugt eine Kopie eines versionierten Ordners. Wie eine Arbeitskopie, jedoch ohne die lokalen .svn
-Ordner.
Ein proprietäres Subversion-Dateisystem für Projektarchive. Kann über Netzwerkfreigaben genutzt werden. Seit Version 1.2 Standard für neue Projektarchive.
Gruppenrichtlinienobjekt.
Die neueste Version einer Datei oder eines Ordners im Projektarchiv.
Ein Subversion-Befehl, mit dem eine vollständige Ordnerhierarchie mit einer einzigen Revision in ein Projektarchiv importiert wird.
Wenn Sie eine Datei sperren, wird diese im Projektarchiv als nicht übertragbar markiert, mit Ausnahme der Arbeitskopie, von der aus die Sperre gesetzt wurde.
Zeigt das Änderungsprotokoll einer Datei oder eines Ordners. Auch „Historie“ genannt.
Zeigt die Revisionshistorie einer Datei oder eines Ordners. Auch als „Log“ bekannt.
Der Prozess, mit dem Änderungen vom Projektarchiv zur Arbeitskopie hinzugefügt werden, ohne lokale Änderungen zu beeinträchtigen. Manchmal können diese Änderungen nicht automatisch hinzugefügt werden und die Arbeitskopie befindet sich dann in einem Konflikt.
Das Zusammenführen passiert automatisch, wenn Sie Ihre Arbeitskopie aktualisieren. Sie können auch mit dem TortoiseSVN-Befehl „Zusammenführen“ spezifische Änderungen von einem Zweig in der Arbeitskopie zusammenführen.
Wenn eine Arbeitskopie nur Änderungen an Textdateien aufweist, ist es möglich, mit dem Diff-Befehl von Subversion eine Datei zu erstellen, die diese Änderungen im Standard-Diff-Format enthält. Eine Datei mit solchem Inhalt wird üblicherweise als „Patch“ bezeichnet und kann zum Beispiel jemandem per Mail geschickt werden, der diese Änderungen dann in seine Arbeitskopie übernehmen kann. Jemand ohne Übertragungsrechte zum Projektarchiv kann so Änderungen vornehmen, diese Änderungen an eine Person mit Übertragungsrechten schicken, die dann diese Änderungen übertragen kann. Oder man kann eine solche Patchdatei anderen zuerst zur Diskussion schicken, bevor man die Änderungen überträgt.
Zusätzlich zur Versionierung von Dateien und Ordnern erlaubt Subversion die Versionierung von Metadaten für Ordner und Dateien, auch als „Eigenschaften“ bezeichnet. Jede Eigenschaft hat einen Namen und einen Wert, ähnlich wie ein Registrierungsschlüssel. Subversion selbst hat einige spezielle Eigenschaften definiert, die intern benutzt werden, wie zum Beispiel svn:eol-style
. TortoiseSVN nutzt ebenfalls spezielle Eigenschaften, so zum Beispiel tsvn:logminsize
. Sie können eigene Eigenschaften mit jedem Namen und Wert erstellen, den sie möchten.
Wenn das Projektarchiv verschoben wird, weil Sie es vielleicht in einen anderen Ordner auf dem Server verschoben haben oder der Domänenname des Servers sich ändert, dann müssen Sie die Arbeitskopie „umplatzieren“, sodass die Projektarchiv-URL zum neuen Ort zeigt.
Hinweis: Sie sollten diesen Befehl nur benutzen, wenn die Arbeitskopie zur selben Stelle im Projektarchiv selbst zeigt und nur das Projektarchiv selbst verschoben wurde. In allen anderen Situationen müssen Sie den Befehl „Wechseln zu“ verwenden.
Ein Projektarchiv ist ein zentraler Platz, in dem Daten gespeichert und verwaltet werden. Ein Projektarchiv kann ein Ort sein, an dem sich mehrere Datenbanken oder Dateien zur Verteilung über ein Netzwerk befinden, oder ein Projektarchiv kann ein Ort sein, auf den der Benutzer direkt zugreifen kann, ohne über ein Netzwerk reisen zu müssen.
Wenn sich Dateien in einer Arbeitskopie nach einem Zusammenführen in einem Konflikt befinden, müssen diese Konflikte von einer Person mittels eines Editors (oder vielleicht TortoiseMerge) aufgelöst werden. Dieser Prozess wird als „Konflikt lösen“ bezeichnet. Wenn die Konflikte aufgelöst sind, können diese Dateien als aufgelöst markiert werden, was eine Übertragung erlaubt.
Subversion hält eine lokale „Basis“-Kopie von jeder Datei in dem Zustand, in dem sie zuletzt in der Arbeitskopie aktualisiert wurde. Wenn Sie Änderungen gemacht haben und diese rückgängig machen wollen, können Sie den Befehl „Rückgängig“ verwenden, um zurück zur Basisversion der Datei zu kommen.
Jedes Mal, wenn Sie Änderungen übertragen, wird eine neue „Revision“ im Projektarchiv erstellt. Jede Revision stellt den Status des Projektarchivs zu einem bestimmten Zeitpunkt in der Vergangenheit dar. Wenn Sie in der Zeit zurückgehen möchten, können Sie das Projektarchiv so untersuchen, wie es bei Revision N war.
Anders ausgedrückt, bezieht sich eine Revision auf eine Menge von Änderungen, die bei der Erstellung dieser Revision vorgenommen wurden.
So wie Dateien Eigenschaften haben können, hat auch jede Revision im Projektarchiv Eigenschaften. Einige spezielle Revisionseigenschaften werden automatisch hinzugefügt, wenn die Revision erstellt wird. Diese sind: svn:date, svn:author svn:log
die das Übertragungsdatum, die Person, welche die Übertragung gemacht hat, und die Logmeldung darstellen. Diese Eigenschaften können verändert werden, aber sie sind nicht versioniert, sodass jede Änderung permanent ist und nicht rückgängig gemacht werden kann.
Eine häufig verwendete Abkürzung für Subversion.
Der Name des spezifischen Protokolls, das von „svnserve“ genutzt wird.
So wie „Aktualisieren zu Revision“ den Zeitpunkt der Arbeitskopie ändert, um auf einen anderen Punkt in der Historie zu zeigen, ändert „Wechseln zu“ die Position der Arbeitskopie, sodass sie an einen anderen Ort im Projektarchiv zeigt. Dies ist vor allem nützlich, wenn Sie mit verschiedenen Zweigen arbeiten, in denen nur wenige Dateien unterschiedlich sind. Sie können Ihre Arbeitskopie zwischen den Zweigen hin und her wechseln, wobei jeweils nur die Unterschiede übertragen werden.
Dieser Subversion-Befehl holt die neuesten Änderungen aus dem Projektarchiv in Ihre Arbeitskopie und führt dabei die Änderungen von anderen mit Ihren Änderungen zusammen.
Dies ist Ihr lokaler „Sandkasten“, der Bereich, in dem Sie an versionierten Dateien arbeiten. Er liegt normalerweise auf Ihrer lokalen Festplatte. Sie erzeugen eine Arbeitskopie, indem Sie einen Ordner aus einem Projektarchiv „Auschecken“ und Sie führen Ihre Änderungen mit einem „Übertragen“ in das Projektarchiv zurück.