diff, compare
Mit dem Befehl diff oder compare wird ein Seite-an-Seite-Vergleich zweier Dateien, Verzeichnisse oder URLs durchgeführt. Dabei können unterschiedliche Arten verglichen werden (So können Sie z.B. eine URL wie http://server/file.txt mit einem Dateipfad wie z.B. C:\file.txt vergleichen). Beachten Sie, dass zwar Dateien mit URLs, nicht aber Dateien mit Verzeichnissen (oder URLs mit Verzeichnissen) verglichen werden können. Auch der Vergleich von Microsoft Word-Dokumenten ab Version 2003 (.docx, .dotx) wird unterstützt. Siehe Vergleichen von Word-Dokumenten.
In den meisten Fällen werden bei einem Vergleich eine "linke" und eine "rechte" Seite miteinander verglichen, doch sind beim Vergleichen von Dateien oder URLs (nicht aber Verzeichnissen) auch Drei-Weg-Vergleiche möglich. Die zu vergleichenden Dateien oder Verzeichnisse können sich auf dem DiffDog Server oder einem DiffDog Client-Rechner befinden. Sie können auch lokale Dateien oder Verzeichnisse mit Remote Verzeichnissen vergleichen. Beispiele dazu finden Sie unter Ausführen von Vergleichen.
Vergleichsergebnis
Beim Format des ausgegebenen Vergleichsergebnisses kann es sich um Text, XML oder HTML handeln. Es wird durch die Option --output-mode ausgewählt. Standardmäßig ist die Ausgabe nicht stumm, d.h. sie wird in der Befehlszeile angezeigt. Setzen Sie die Option --quiet auf true, um die Anzeige in der Befehlszeile zu unterdrücken. Zusätzlich dazu kann die Ausgabe mit der Option --output-file an eine Datei gesendet werden. Tipp: Wenn Sie eine leere Ausgabedatei erhalten, versuchen Sie die Option --mode, mit der angegeben wird, welche Art von Vergleich durchgeführt wird, zu ändern.
Syntax
diffdogserver diff [options] {path path [path]}
diffdogcmdlclient diff [options] {path path [path]}
Anmerkungen
•Bei einem path kann es sich um einen Datei- oder Verzeichnispfad oder um einen URL-Pfad im Format http://server/segment handeln.
•Sie können zwei oder drei Pfade als Argumente angeben.
•Die Bereitstellung von Pfaden als Argumente ist nur eine der Möglichkeiten. Sie können auch die Optionen --client-left, --client-right oder --server-left, --server-right definieren (siehe unten). Verwenden Sie die zweite Methode, wenn DiffDog Client nicht auf demselben Rechner wie DiffDog Server ausgeführt wird.
•Die Pfade dürfen nicht in Form einer Mischung aus Argumenten und Optionen definiert werden; Sie müssen entweder die eine oder die andere Methode auswählen.
•Sie können das Argument job mehrmals definieren, um bei einer Befehlsausführung mehrere Datenbankvergleichsaufträge auf einmal auszuführen.
•Die Optionen --server und --port sind nur auf diffdogcmdlclient anwendbar. Sie definieren die Verbindungsinformationen des Servers.
Optionen
Nachstehend sind die Optionen in alphabetischer Reihenfolge aufgelistet. Sie können für die meisten der unten stehenden Optionen in der Client-Konfigurationsdatei Standardeinstellungen definieren. Beachten Sie bitte die folgenden Punkte, wenn Sie eine Client-Konfigurationsdatei verwenden:
•Wenn eine Option in der Befehlszeile definiert und in der Client-Konfigurationsdatei auskommentiert ist, wird die Befehlszeilenoption angewendet.
•Wenn eine Option sowohl in der Befehlszeile als auch in einer Client-Konfigurationsdatei definiert ist, wird die Befehlszeilenoption angewendet.
•Wenn eine Option nicht in der Befehlszeile, jedoch in der Konfigurationsdatei definiert ist (d.h. wenn sie dort nicht auskommentiert ist), wird die Konfigurationsdateioption angewendet.
•Wenn eine Option weder in der Befehlszeile noch in der Konfigurationsdatei definiert ist, erhält sie den Standardwert, wie er in der Befehlszeilenhilfe und in der unten stehenden Dokumentation angegeben ist.
Wenn der Server-Administrator den Zugriff auf Serverpfade aus Sicherheitsgründen eingeschränkt hat, können Server-Dateipfade in Vergleichen nicht mehr direkt verwendet werden. Stattdessen muss ein vom Server-Administrator zugewiesener Aliasname verwendet werden. Der Aliasname wird dazu in der Option --alias (der Befehle diff, compare und run, import, load) definiert. Nähere Informationen zu dieser Funktion finden Sie unter Aliasse für Server-Ordner.
Diese Option kann dann sinnvoll eingesetzt werden, wenn ein Serverpfad im Vergleich verwendet wird (d.h. wenn die Optionen --server-left oder --server-right definiert wurden). Gültige Werte für diese Option sind die Aliasse, die in der Server-Konfigurationsdatei definiert wurden. Um die Liste der verfügbaren Aliasse auszugeben, führen Sie den Befehl aliases aus. Nähere Informationen dazu finden Sie unter Einschränken des Zugriffs auf Server-Pfade.
|
Definiert die linke Seite des Vergleichs. Es muss sich um einen Pfad zu einer lokalen Datei oder einem lokalen Verzeichnis handeln.
|
Definiert in einem Drei-Weg-Vergleich den lokalen Pfad zur "mittleren" Datei.
|
Definiert die rechte Seite des Vergleichs. Es muss sich um einen Pfad zu einer lokalen Datei oder einem lokalen Verzeichnis handeln.
|
Definiert den Pfad zu einer Client-Konfigurationsdatei, die die Datenvergleichsinformationen und die Informationen über die Verbindung zum DiffDog Server enthält.
Wenn Sie die Option --c nicht definieren, versucht diffdogcmdlclient die Client-Konfigurationsdatei aus demselben Verzeichnis wie die ausführbare Datei zu lesen. Wenn sich keine Konfigurationsdatei im selben Verzeichnis befindet, werden die in der Befehlszeile durch den CLI-Befehle showcfg und im Kapitel Client-Konfigurationsdatei beschriebenen Standardwerte verwendet.
|
Definiert, ob bei einem Verzeichnisvergleich zusätzlich zu etwaigen anderen, separat definierten Optionen (wie Dateigröße und Änderungsdatum) auch der Dateiinhalt verglichen werden soll. Wenn diese Option auf false gesetzt ist, wird der Dateiinhalt beim Vergleich ignoriert (dadurch wird der Vergleich schneller, jedoch weniger genau). Standardmäßig ist diese Option auf false gesetzt.
|
Diese Option ist auf Verzeichnisvergleiche anwendbar. Damit wird definiert, dass im Verzeichnisvergleich beim Vergleich von Änderungszeiten die Anzahl der Sekunden (+/-) ignoriert werden soll. Standardmäßig ist der Wert auf 0 gesetzt, was bedeutet, dass die Unterschiede in der Änderungszeit nicht ignoriert werden.
|
Diese Option ist auf Verzeichnisvergleiche anwendbar. Standardmäßig ist dieser Wert false, was bedeutet, dass die Groß- und Kleinschreibung berücksichtigt wird.
|
Diese Option ist auf Verzeichnisvergleiche anwendbar. Wenn sie auf true gesetzt ist, wird die Dateigröße beim Vergleich berücksichtigt; andernfalls wird sie ignoriert. Der Standardwert ist false.
|
Diese Option ist auf Verzeichnisvergleiche anwendbar. Wenn sie auf true gesetzt ist, wird der Änderungszeitpunkt beim Verzeichnisvergleich berücksichtigt; andernfalls wird er ignoriert. Der Standardwert ist false.
|
Diese Option kann auf Verzeichnisvergleiche angewendet werden. Mit Hilfe von Verzeichnisfiltern können Sie bestimmte Dateien oder Unterverzeichnisse auf Basis von Kriterien, die Sie definieren können, vom Vergleich ausnehmen. Gültige Werte für diese Option sind die in der Client-Konfigurationsdatei in der Gruppe [dir.filter] definierten Verzeichnisfilter. Wenn in der Konfigurationsdatei z.B. ein Filter [dir.filter:svn] definiert ist, wäre die entsprechende Einstellung in der Befehlszeile die folgende Option: --directory-filter=svn
Wenn DiffDog unter Windows auf demselben Rechner wie DiffDog Server installiert ist, können Sie zusätzlich jeden bereits in DiffDog bereits definierten Verzeichnisfilter (entweder einen vordefinierten oder einen benutzerdefinierten) angeben. Um z.B. den vordefinierten Filter No SVN directories in der Befehlszeile zu definieren, verwenden Sie die folgende Syntax: --directory-filter="No SVN directories"
Nähere Informationen zum Erstellen von Verzeichnisfiltern mit DiffDog finden Sie in der DiffDog-Dokumentation.
Anmerkung: Wenn der Filter nicht gefunden wird, wird ein Fehler gemeldet und es wird kein Vergleich durchgeführt.
|
Wird auf Word-Vergleiche angewendet. Wenn die Option auf true gesetzt ist, wird eine fette Formatierung bei Vergleichen berücksichtigt. Andernfalls wird sie ignoriert. Der Standardwert ist false.
|
Wird auf Word-Vergleiche angewendet. Wenn die Option auf true gesetzt ist, wird die Schriftfarbe bei Vergleichen berücksichtigt. Andernfalls wird sie ignoriert. Der Standardwert ist false.
|
Wird auf Word-Vergleiche angewendet. Wenn die Option auf true gesetzt ist, wird der Schriftartname bei Vergleichen berücksichtigt. Andernfalls wird er ignoriert. Der Standardwert ist false.
|
Wird auf Word-Vergleiche angewendet. Wenn die Option auf true gesetzt ist, wird die Schriftgröße bei Vergleichen berücksichtigt. Andernfalls wird sie ignoriert. Der Standardwert ist false.
|
Wird auf Word-Vergleiche angewendet. Wenn die Option auf true gesetzt ist, wird eine kursive Formatierung bei Vergleichen berücksichtigt. Andernfalls wird sie ignoriert. Der Standardwert ist false.
|
Wird auf Word-Vergleiche angewendet. Wenn die Option auf true gesetzt ist, wird eine unterstrichene Formatierung bei Vergleichen berücksichtigt. Andernfalls wird sie ignoriert. Der Standardwert ist false.
|
Wird angewendet, wenn Word-Dokumente oder Verzeichnisse, die Word-Dokumente enthalten, verglichen werden. Bei einem Verzeichnisvergleich gilt die Option nur für Word-Dokumente in diesem Verzeichnis. Wenn sie auf true gesetzt wird, werden Leerzeilen beim Vergleich ignoriert. Andernfalls ist dies nicht der Fall. Der Standardwert ist false.
|
Wird angewendet, wenn Word-Dokumente oder Verzeichnisse, die Word-Dokumente enthalten, verglichen werden. Bei einem Verzeichnisvergleich gilt die Option nur für Word-Dokumente in diesem Verzeichnis. Wenn sie auf true gesetzt wird, wird die Groß- und Kleinschreibung beim Vergleich ignoriert. Andernfalls wird sie ignoriert. Der Standardwert ist false.
|
Diese Option kann angewendet werden, wenn Word-Dokumente oder Verzeichnisse, die Word-Dokumente enthalten, verglichen werden. Bei einem Verzeichnisvergleich gilt die Option nur für Word-Dokumente in diesem Verzeichnis.
Mit dieser Option definieren Sie, wie Whitespace-Zeichen beim Vergleich behandelt werden sollen. Die folgenden Zeichen sind Whitespace-Zeichen: Leerzeichen, Tabulator, Wagenrücklauf (Carriage Return) und Zeilenvorschub (Line Feed).
|
Mit dieser Option wird definiert, ob leere Zeilen beim Vergleich ignoriert werden sollen. Gültige Werte sind true und false. Der Standardwert ist false.
Die Option ist von der aktuellen --mode-Option abhängig. Bei --mode=text wird sie auf Textzeilen angewendet und entspricht der Option --text-ignore-blank-lines. Bei --mode=xml wirkt sie sich nicht auf den Vergleich aus. Bei --mode=doc wird sie auf Word-Dokumente angewendet und entspricht der Option --doc-ignore-blank-lines. Bei einem Verzeichnisvergleich wird sie auf jede Vergleichsart, die in diesem Verzeichnis vorkommt, angewendet.
|
Diese Option wird sowohl auf Dateivergleiche als auch auf Verzeichnisvergleiche angewendet. Die Option ist von der aktuellen --mode-Option abhängig. Bei --mode=text wird sie auf Textdateien angewendet und entspricht der Option --text-ignore-case. Bei --mode=xml wird sie auf XML-Dateien angewendet und entspricht den Optionen --xml-ignore-case-in-names und --xml-ignore-case-in-text. Bei --mode=doc wird sie auf Word-Dokumente angewendet und entspricht der Option --doc-ignore-case. Bei einem Verzeichnisvergleich wird sie auf jede Vergleichsart, die in diesem Verzeichnis vorkommt, angewendet.
Wenn sie auf true gesetzt wird, wird die Groß- und Kleinschreibung beim Vergleich ignoriert. Andernfalls wird sie ignoriert. Der Standardwert ist false.
|
Definiert, ob Informationen, Warnungen oder Fehlermeldungen im Log ausgegeben werden sollen. Gültige Werte sind:
•none: Unterdrückt die Protokollierung •info: Informationen, Warnungen und Fehlermeldungen ausgeben •warning: Fehler und Warnmeldungen ausgeben •error: (Standardeinstellung) Nur Fehlermeldungen ausgeben
|
Definiert die Art des durchzuführenden Vergleichs. Die Option und ihre unten angegebenen Werte können sowohl auf Datei- als auch auf Verzeichnisvergleiche angewendet werden. Im Fall von Verzeichnisvergleichen ist die Standardoption "auto" ein "Schnellvergleich". Dabei werden Dateien im Verzeichnis und seinen Unterverzeichnissen nach Größe und Änderungsdatum verglichen. Bei Auswahl eines der anderen Werte für Verzeichnisvergleiche wird der Dateiinhalt beim Vergleich als Format des ausgewählten Werts behandelt (z.B. als XML-Dateien).
|
Mit Hilfe dieser Option können Sie die Befehlsausgabe in eine Textdatei auf dem Client-Rechner schreiben. Der Wert muss einen gültigen Dateipfad auf dem Client-Rechner definieren. Mit Hilfe der Option --om können Sie das Ausgabedateiformat definieren.
|
Definiert des Ausgabeformat des generierten Berichts. Die folgenden Werte stehen zur Verfügung: auto (Standardoption), text, xml, html.
Anmerkung: Die Option --output-mode=text wird beim Vergleich von XML- oder Word-Dateien nicht unterstützt.
|
Definiert den Port, an dem DiffDog Server für Requests empfangsbereit ist. Wenn diese Option nicht definiert ist, wird der in der Client-Konfigurationsdatei definierte Port (standardmäßig 29800) verwendet. Die Option --port setzt die Einstellung in der Konfigurationsdatei außer Kraft.
|
Verhindert, dass die Standardausgabe in der Befehlszeile angezeigt wird. Gültige Werte sind:
•true: Standardausgabe nicht im Terminal-Fenster anzeigen. •false: (Standardwert) Standardausgabe im Terminal-Fenster anzeigen.
|
Definiert den Server, auf dem DiffDog Server für Requests empfangsbereit ist. Wenn diese Option nicht definiert ist, wird der in der Client-Konfigurationsdatei definierte Server (standardmäßig 127.0.0.1) verwendet. Die Option -- server setzt die Einstellung in der Konfigurationsdatei außer Kraft.
|
Mit Hilfe dieser Option können Sie die Befehlsausgabe in eine Textdatei auf dem Server-Rechner schreiben. Der Wert muss einen gültigen Dateipfad auf dem Server-Rechner definieren. Mit Hilfe der Option --om können Sie das Ausgabedateiformat definieren.
|
Mit Hilfe dieser Option können Sie einen entfernten Pfad zum Vergleich hinzufügen. Sie definieren damit die linke Seite des Vergleichs (einen Pfad zu einer Datei oder einem Verzeichnis, auf die/das der Server Zugriff hat).
|
Mit Hilfe dieser Option können Sie einen entfernten Pfad zum Vergleich hinzufügen. Sie definieren damit die Mitte des Vergleichs (gilt für Drei-Weg-Vergleiche). Der Wert muss ein Pfad zu einer Datei oder einem Verzeichnis sein, auf die/das der Server Zugriff hat.
|
Mit Hilfe dieser Option können Sie einen entfernten Pfad zum Vergleich hinzufügen. Sie definieren damit die rechte Seite des Vergleichs (einen Pfad zu einer Datei oder einem Verzeichnis, auf die/das der Server Zugriff hat).
|
Diese Option kann angewendet werden, wenn Textdokumente oder Verzeichnisse, die Textdokumente enthalten, verglichen werden. Bei einem Verzeichnisvergleich gilt die Option nur für Textdateien in diesem Verzeichnis. Wenn sie auf true gesetzt wird, wird die Groß- und Kleinschreibung beim Vergleich ignoriert. Andernfalls wird sie ignoriert. Der Standardwert ist false.
|
Diese Option kann angewendet werden, wenn Textdokumente oder Verzeichnisse, die Textdokumente enthalten, verglichen werden. Bei einem Verzeichnisvergleich gilt die Option nur für Textdateien in diesem Verzeichnis. Mit der Option wird definiert, ob Leerzeilen beim Vergleich von Textdateien ignoriert werden sollen. Gültige Werte sind true und false. Der Standardwert ist false.
|
Diese Option kann angewendet werden, wenn Textdokumente oder Verzeichnisse, die Textdokumente enthalten, verglichen werden. Bei einem Verzeichnisvergleich gilt die Option nur für Textdateien in diesem Verzeichnis.
Mit dieser Option definieren Sie, wie Whitespace-Zeichen beim Vergleich behandelt werden sollen. Die folgenden Zeichen sind Whitespace-Zeichen: Leerzeichen, Tabulator, Wagenrücklauf (Carriage Return) und Zeilenvorschub (Line Feed).
|
Diese Option wird auf Dateivergleiche und Verzeichnisvergleiche angewendet. Die Option ist von der aktuellen --mode-Option abhängig. Bei --mode=text wird sie auf Textzeilen angewendet und entspricht der Option --text-whitespace-mode. Bei --mode=xml wird sie auf XML-Dateien angewendet. Bei --mode=doc wird sie auf Word-Dokumente angewendet und entspricht der Option --doc-whitespace-mode. Bei einem Verzeichnisvergleich wird sie auf Basis der Dateierweiterung auf jede Vergleichsart, die in diesem Verzeichnis vorkommt, angewendet.
Mit dieser Option definieren Sie, wie Whitespace-Zeichen beim Vergleich behandelt werden sollen. Die folgenden Zeichen sind Whitespace-Zeichen: Leerzeichen, Tabulator, Wagenrücklauf (Carriage Return) und Zeilenvorschub (Line Feed).
Wenn es sich bei den verglichenen Dateien um XML-Dateien handelt, wirkt sich die Normalisierung und Kürzung auf Whitespace-Zeichen innerhalb von Attribut- und Elementwerten aus. Andere Whitespace-Zeichen werden ignoriert.
|
Diese Option kann auf XML-Vergleiche angewendet werden. Ein XML-Filter enthält Regeln, durch die bestimmte XML-Attribute oder -Elemente beim Vergleich ignoriert werden. Gültige Wert für diese Option sind die in der Client-Konfigurationsdatei in der Gruppe [xml.filter] definierten XML-Filter. Wenn in der Konfigurationsdatei z.B. ein Filter [xml.filter:ignore-abc-elems] definiert ist, wäre die entsprechende Einstellung in der Befehlszeile die folgende Option: --xml-filter=ignore-abc-elems
Wenn DiffDog unter Windows auf demselben Rechner wie DiffDog Server installiert ist, können Sie zusätzlich jeden bereits in DiffDog bereits definierten XML-Filter angeben. Nähere Informationen zum Erstellen von Verzeichnisfiltern mit DiffDog finden Sie in der DiffDog-Dokumentation.
Anmerkung: Wenn der Filter nicht gefunden wird, wird ein Fehler gemeldet und es wird kein Vergleich durchgeführt.
|
Diese Option wird angewendet, wenn Sie XML-Dateien oder Verzeichnisse, die XML-Dateien enthalten, vergleichen. Bei Verzeichnisvergleichen wird der Befehl nur auf XML-Dateien in diesem Verzeichnis angewendet. Wenn sie auf true gesetzt ist, wird die Groß- und Kleinschreibung beim Vergleich von XML-Node-Namen ignoriert. Der Standardwert ist false.
|
Diese Option wird angewendet, wenn Sie XML-Dateien oder Verzeichnisse, die XML-Dateien enthalten, vergleichen. Bei Verzeichnisvergleichen wird der Befehl nur auf XML-Dateien in diesem Verzeichnis angewendet. Wenn sie auf true gesetzt ist, wird die Groß- und Kleinschreibung beim Vergleich von XML-Text-Nodes ignoriert. Der Standardwert ist false.
|
Diese Option wird angewendet, wenn Sie XML-Dateien vergleichen. Gültige Werte:
|
Diese Option wird angewendet, wenn Sie XML-Dateien vergleichen. Gültige Werte:
|
Diese Option wird angewendet, wenn Sie XML-Dateien vergleichen. Gültige Werte:
|
Diese Option wird angewendet, wenn Sie XML-Dateien vergleichen. Gültige Werte:
|
Diese Option wird angewendet, wenn Sie XML-Dateien vergleichen. Gültige Werte:
|
Diese Option wird angewendet, wenn Sie XML-Dateien vergleichen. Gültige Werte:
|
Diese Option wird angewendet, wenn Sie XML-Dateien vergleichen. Wenn sie auf true gesetzt wird, werden XML-Namespaces ignoriert. Der Standardwert ist false.
|
Diese Option wird angewendet, wenn Sie XML-Dateien vergleichen. Wenn sie auf true gesetzt wird, werden XML-Präfixe ignoriert. Angenommen, Sie möchten z.B die unten gezeigten XML-Dateien vergleichen. Beide Dateien enthalten identische Elemente, haben aber ein unterschiedliches Präfix.
Standardmäßig ist die Option --xml-ignore-prefixes auf false gesetzt, d.h. die Dateien werden als nicht identisch betrachtet. Wenn Sie die Option --xml-ignore-prefixes jedoch auf true setzen, werden die Präfixe ignoriert und die Dateien werden als identisch betrachtet.
|
Diese Option wird angewendet, wenn Sie XML-Dateien vergleichen. Wenn sie auf true gesetzt wird, wird der Textinhalt von XML-Nodes beim Vergleich ignoriert. Dies ist nützlich, wenn Sie nur die Struktur von XML-Dateien, nicht aber den eigentlichen Inhalt der Nodes vergleichen möchten. Der Standardwert ist false.
|
Diese Option wird angewendet, wenn Sie XML-Dateien vergleichen. Setzen Sie diese Option auf true, wenn alle XML-Attribute vor dem Vergleich geordnet werden sollen. Angenommen, Sie möchten die folgenden zwei XML-Dateien vergleichen:
Die Reihenfolge der Attribute ist im Codefragment oben in beiden Dateien unterschiedlich, aber die Attribute sind die gleichen. Wenn Sie die Option --xml-order-by-attributes auf true setzen, werden die Attribute vor dem Vergleich geordnet, wodurch die Dateien als gleich betrachtet werden. Der Standardwert ist false, d.h. die Dateien werden nicht als gleich betrachtet, wenn die Reihenfolge der Attribute nicht die gleiche ist.
|
Diese Option wird angewendet, wenn Sie XML-Dateien vergleichen. Setzen Sie diese Option auf true, wenn alle XML-Elemente vor dem Vergleich geordnet werden sollen. Angenommen, Sie möchten die folgenden zwei XML-Dateien vergleichen:
Im Codefragment oben enthalten die linke und die rechte Datei genau die gleichen Elemente, jedoch in unterschiedlicher Reihenfolge. Wenn Sie die Option --xml-order-by-elements auf true setzen, werden die Elemente vor dem Vergleich geordnet, wodurch die Dateien als gleich betrachtet werden. Der Standardwert ist false, d.h. die Dateien werden nicht als gleich betrachtet, wenn die Reihenfolge der Elemente nicht die gleiche ist.
|
Diese Option wird angewendet, wenn Sie XML-Dateien vergleichen. Es gibt Fälle, in denen mehrere Elemente genau den gleichen Namen und die gleichen Attribute haben, die Attributwerte aber unterschiedlich sind. Um die Dateien vor dem Vergleich nach bestimmten Attributen zu sortieren, setzen Sie diese Option auf eine in der Client-Konfigurationsdatei in der Gruppe [xml.orderby:<name_of_your_list>] erstellte benannte Liste von Attributen.
Angenommen, Sie möchten die folgenden zwei XML-Dateien vergleichen:
Im Codefragment oben sind die rechte und die linke Datei nicht gleich. Wenn Sie jedoch alle phone-Elemente nach dem Attribut ext ordnen, sind die Dateien gleich. Um einen solchen Vergleich durchführen zu können, ändern Sie zuerst die Client-Konfigurationsdatei folgendermaßen:
Sie können nun den Befehl diff mit der Option --xml-order-by-attribute-list=mylist ausführen. Daraufhin werden die Elemente nach dem Attribut ext geordnet, sodass die Dateien als gleich betrachtet werden. Wenn die Option --xml-order-by-attribute-list nicht definiert ist, würden Dateien wie die beiden obigen als NICHT identisch betrachtet.
Anstatt diese Option zu definieren, können Sie auch die Option --xml-order-by-attributes=true definieren, um die Dateien nach Attributen zu ordnen.
Anmerkung: Wenn Sie die Option --xml-order-by-attribute-list definieren, müssen Sie auch --xml-order-by-elements=true definieren.
Wenn DiffDog unter Windows auf demselben Rechner wie DiffDog Server installiert ist, können Sie diese Option auf eine in DiffDog erstellte benutzerdefinierte Attributliste setzen. Nähere Informationen zum Erstellen benutzerdefinierter Attributlisten mit DiffDog finden Sie in der DiffDog-Dokumentation.
|
Diese Option wird angewendet, wenn Sie XML-Dateien vergleichen. Es gibt Fälle, in denen mehrere Elemente genau den gleichen Namen und die gleichen Attribute haben und sich nur der Text von Elementen unterscheidet. Setzen Sie diese Option auf true, wenn solche Elemente vor dem Vergleich nach dem darin enthaltenen Text geordnet werden sollen. Angenommen, Sie möchten die folgenden Dateien vergleichen:
Im Codefragment oben sind die rechte und die linke Datei nicht gleich. Wenn Sie die Option --xml-order-by-text auf true setzen, werden die Elemente nach ihrem Text geordnet, wodurch die Dateien als gleich betrachtet werden. Der Standardwert ist false, d.h. die Elemente werden nicht nach ihrem Textinhalt geordnet, sodass Dateien wie die beiden obigen nicht als identisch gelten würden.
Anmerkung: Wenn Sie die Option --xml-order-by-text definieren, müssen Sie auch --xml-order-by-elements=true definieren.
|
Diese Option wird angewendet, wenn Sie XML-Dateien vergleichen. Wenn Sie die Option auf true setzen, werden alle Entities im Dokument aufgelöst. Andernfalls werden die Dateien mit den Entities in ihrem gegenwärtigen Zustand verglichen. Standardmäßig ist diese Option false.
|
Diese Option ist anwendbar, wenn XML-Dokumente oder Verzeichnisse, die XML-Dokumente enthalten, verglichen werden. Bei Verzeichnisvergleichen wird die Option nur auf XML-Dateien in diesem Verzeichnis angewendet.
Mit dieser Option definieren Sie, wie Whitespace-Zeichen beim Vergleich behandelt werden sollen. Die folgenden Zeichen sind Whitespace-Zeichen: Leerzeichen, Tabulator, Wagenrücklauf (Carriage Return) und Zeilenvorschub (Line Feed). Diese Option wirkt sich nur auf Whitespace-Zeichen innerhalb von Element- und Attributwerten aus. Whitespace-Zeichen außerhalb von Attribut- oder Elementwerten werden beim Vergleich ignoriert.
|
Diese Option wird angewendet, wenn Sie ZIP-Dateien vergleichen. Wenn Sie die Option auf true setzen, werden ZIP-Dateien als Verzeichnisse und nicht als Binärdateien behandelt. Standardmäßig ist diese Option false.
|
Beispiele
Um nur lokale Dateien oder Verzeichnisse miteinander zu vergleichen, geben Sie diese als Argumente an, die in der folgenden Index-Reihenfolge interpretiert werden. Zwei Argumente (i): linke Seite, rechte Seite. Drei Argumente (ii): linke Seite, Mitte, rechte Seite. Zwar ist die Option --mode nicht zwingend erforderlich, es wird jedoch empfohlen, sie explizit entweder auf text, binary oder xml zu setzen. Im ersten Beispiel oben wurde sie auf text gesetzt, da zwei Textdateien verglichen werden. Im zweiten Beispiel wurde sie auf xml gesetzt.
(i) diffdogcmdlclient diff file1.txt file2.txt --mode=text
(ii) diffdogcmdlclient diff file1.xml file2.xml file3.xml --mode=text
Alternativ dazu können Sie die zu vergleichenden Dateien mit Hilfe von Optionen anstatt von Argumenten definieren. So werden etwa im Befehl unten zwei XML-Dateien mittels Optionen und nicht Argumenten angegeben. Beachten Sie die Client/Server-Pfade der Dateien.
(i) diffdogcmdlclient diff --client-left=file1.xml --client-right=file2.xml
(ii) diffdogcmdlclient diff --client-left=file1.xml --server-right=file2.xml --client-right=file3.xml
Mit dem Befehl unten wird eine Datei auf dem Client mit einer Datei auf dem Server verglichen. Die Datei auf dem Server wird in einem Ordner erwartet, der einen Aliasnamen "public" hat. Es wird davon außerdem ausgegangen, dass dieser Alias vom Server-Administrator bereits definiert wurde.
diffdogcmdlclient diff --client-left=file1.txt --server-right=file2.txt --mode=text --alias=public
Um die Liste der auf dem Server definierten Aliasse anzuzeigen, führen Sie den Befehl aliases aus. Um einen Alias als Standardeinstellung zu speichern, definieren Sie die Option server-alias in der Client-Konfigurationsdatei. Dadurch müssen Sie in der Befehlszeile keinen Alias mehr definieren.