Welchen GUI Diff Viewer würden Sie mit der Funktion "Nach links / rechts kopieren" empfehlen?

30

Ich habe kaum etwas anderes als Meld verwendet . Kannst du noch etwas empfehlen?

Es wäre besonders nett, wenn Sie einen Grund für Ihre Empfehlung angeben (als Kommentar).

[ note ] Ich möchte eine Alternative, da Meld kürzlich die Funktion zum Kopieren des gesamten Inhalts von einer Datei in eine andere verloren hat. Ich beziehe mich auf die Funktionen, die über den Copy To Left/RightRechtsklick-Menüpunkt verfügbar sind .

[ update ] Ich habe gerade nachgesehen und das Problem wurde mit 1.3.2 eingeführt . 1.3.1 funktioniert gut, und das neueste, das ich überprüft habe, ist 1.4.0 , und es funktioniert nicht.

Tshepang
quelle
4
Haben Sie kdiff3.sourceforge.net ausprobiert ?
Kasterma
@kas Ich habe es gerade versucht und festgestellt, dass es nicht das bietet, was ich von einem solchen Tool benötige (siehe den Hinweis, den ich zur Frage hinzugefügt habe).
Tshepang
2
@ Tshepang: kdiff3 erlaubt dies. Markieren Sie eine Datei "Zusammenführen von A nach B" und beginnen Sie dann mit dem Zusammenführen. Sie können von Unterschied zu Unterschied auswählen, welche Teile kopiert werden sollen. Lassen Sie alles weg, was Sie nicht kopieren möchten. Wenn Sie zufrieden sind, klicken Sie auf Speichern. Um die gesamte Datei zu kopieren, markieren Sie sie einfach als "Von A nach B kopieren". Möglicherweise müssen Sie A und B umkehren, je nachdem, auf welche Weise Sie tatsächlich kopieren.
Sorpigal
@Oder Bist du sicher? Ich verwende die Version 0.9.95 und finde keine "Zusammenführung von A nach B". Ich habe unter nachgesehenMerge Menü .
Tshepang
1
@ Tshepang Ich benutze Meld 1.3.0, von dem ich glaube, dass es die neueste Version ist. Wählen Sie den gesamten Inhalt der Datei auf der linken Seite aus (klicken Sie auf den Text und drücken Sie Strg + A) und klicken Sie dann mit der rechten Maustaste darauf. Ich bekomme die Option "Nach rechts kopieren", und wenn ich darauf klicke, wird der gesamte Inhalt der Datei auf der linken Seite in die Datei auf der rechten Seite kopiert. Ebenso erhalte ich die Option "Nach links kopieren" für die andere Datei. Auf diese Weise können Sie den gesamten Inhalt einer Datei in die andere kopieren.
Barun

Antworten:

24

Es gibt eine Reihe von Tools, die verwendet werden können:

  • verschmelzen
  • kompare - diff file viewer
  • kdiff3 - Dateidifferenzbetrachter
  • Diffuse - Dateidifferenzbetrachter

Haben Sie zwei Dateien und möchten deren Unterschiede anzeigen? Verwenden Sie einen "File Difference Viewer". Haben Sie eine Diff-Datei und möchten diese in einer übersichtlichen Anzeige anzeigen? Verwenden Sie einen "Diff File Viewer".

Johan
quelle
+1 für das Vorschlagen von Kompare; Es scheint besser zu sein als das Kdiff3, zumindest für meinen Gebrauch.
Tshepang
1
es gibt auch diffuse: diffuse.sourceforge.net/manual.html
gabe.
@gabe Dieses schöne Tool wurde zur Liste hinzugefügt.
Tshepang
diffuse haben einige nette svn-kenntnisse aus der box, so dass sie mehr oder weniger wie "svn diff" verwendet werden können.
Johan
1
@ Tshepang - Ich finde es toll, dass kdiff3 einzelne Zeichen hervorhebt, die sich in einer Zeile geändert haben. Die meisten Diff-Tools markieren nur die gesamte Zeile, was es schwieriger machen kann, herauszufinden, was sich geändert hat. Nur eine nette Funktion zu beachten ...
Justin Ethier
9

Es gibt auch vimdiff(mit seiner GUI-Version gvimdiff).

Johan
quelle
7

Emacs ist gebündelt ediff Paket von ist ein ziemlich guter Diff-Viewer (beginnen Sie mit den Befehlen in Emacs Tools / Compareund den Tools / MergeMenüs). Es verfügt über alle grundlegenden Funktionen (Hervorheben der Unterschiede zwischen zwei Dateien, Wechseln zwischen verschiedenen Blöcken) und die häufigsten Zwischenfunktionen (Vergleichen von Teilen von Dateien, Vergleichen von Überarbeitungen, die aus der Versionskontrolle stammen, Vergleichen von Verzeichnisbäumen, Verwenden eines gemeinsamen Vorfahren als Referenzpunkt, eine zusammengeführte Version erstellen). Es hat jedoch keine ausgefallenen Ignorierfähigkeiten.

Was Emacs gegenüber den meisten anderen Diff-Viewern bietet, sind bessere Suchfunktionen, Syntaxhervorhebung und Lisp-Erweiterbarkeit. Oh, und ein integrierter Editor.

Gilles
quelle
Als ich den Emacs Diff Viewer ausprobierte, stellte ich fest, dass die Puffer nicht gleichzeitig gescrollt wurden (in vimdiff scrollen sie so, dass die zugehörigen Teile ständig nebeneinander liegen). Wissen Sie, dass Sie dies in Emacs erreichen?
Kasterma
@kasterma: v/ ^( ediff-scroll-verticallynach oben oder unten gehen, je nachdem, welche Taste Sie drücken, um es aufzurufen) scrollt alle Fenster gleichzeitig.
Gilles 'SO- hör auf böse zu sein'
2

Ich empfehle kdiff3. Es kann sowohl von Programmierern verwendet werden, um src-Dateien während der Softwareentwicklung zu vergleichen, als auch von Personen, die regelmäßige Sicherungen durchführen, um zwei Ordner (rekursiv bis zum Ende) zu vergleichen, den ersten auf Ihrer Systemfestplatte und den zweiten externen Sicherungsfestplatten.

Im letzteren Fall können Sie einen Datums-, Uhrzeit- und Größenvergleich konfigurieren, anstatt einen zeilenweisen Vergleich durchzuführen, der von Programmierern benötigt wird. Es wird eine schöne farbcodierte Ausgabe für jedes Verzeichnis / jede Datei angezeigt, die am Vergleich beteiligt sind, und Sie können die neuen Dateien, die Sie auf Ihrer Systemfestplatte erstellt / gelöscht haben, selektiv zur Sicherungsfestplatte hinzufügen / daraus entfernen.

user42339
quelle
2

Ich benutze tkdiff ( http://sourceforge.net/projects/tkdiff/ ) seit Jahren. Es macht, was ich will, was das Anzeigen von Unterschieden zwischen Dateien betrifft, und es ist in der Lage, eine "Zusammenführungs" -Datei mit einer beliebigen Auswahl von Unterschieden zwischen linker und rechter Datei zu schreiben.

Nachteil: Es ist in Tcl / Tk geschrieben, und nicht alle Systeme haben das.

Bruce Ediger
quelle
1

Ich denke xxdiff macht was du willst.

Wazoox
quelle