Werkzeug für 3-Wege-Binary (Hex) Datei-Vergleich?
Habe ich eine Reihe von binären Konfigurationsdateien mit drei Versionen jeder -- ein original und zwei unterschiedlich modifizierte Versionen jeder Datei. Ich muss in der Lage sein, um die Unterschiede zu sehen zwischen den beiden Versionen so gut wie das original, alle zur gleichen Zeit.
Was ich brauche, ist ein drei-Wege-diff-tool für binäre Dateien. Durch einen ziemlich anstrengenden Google-Suche habe ich schließlich zufällig auf eine screenshot für eine Anwendung, die tut genau das, was ich brauche-leider ist das forum post mit dem Bild nicht erwähnt, für welche Anwendung Sie gerade verwenden:
http://www.xboxhacker.org/index.php?topic=15032.0
Kann mir jemand zeigen in die Richtung von (Windows -) Anwendung, die bietet eine binary-safe (hex) Vergleich der drei Binär-Dateien??
- BTW, ich bin wirklich auf der Suche nach einem GUI-tool. Ich würde mich freuen, wenn jemand nur sagen Sie mir den Namen von diesem tool im letzten screenshot in diesem forum-Beitrag habe ich verwiesen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Der screenshot ist von Araxis Merge. Ihre pro-edition ($270) unterstützt 3-Wege vergleicht.
Vim hat einen eingebauten diff-tool zu vergleichen, kann eine beliebige Anzahl von Dateien. Es läuft auch auf Windows. Sie finden ihn unter http://vim.org.
Der standard-installation von vim für windows enthält
xxd
, die Ihnen ermöglicht, binäre Dateien als text:So zum Beispiel, wenn Sie versuchen:
erhalten Sie:
etc...
So können Sie
xxd
dump Ihre binäre Dateien in text-Dateien:Und führen Sie dann vim im diff-Modus:
Und dies wird Ihnen etwas wie dieses:
(Dieser screenshot war genommen von hier und ist nicht mehr als eine illustration von dem, was ein 3-way-diff Aussehen wird wie in VIM)
All diese Werkzeuge, die in windows verfügbar sind, so sollten Sie Ihr problem lösen.
Edit:
Nachdem Sie Zusammenführen der Ergebnisse der
xxd
Sie können konvertieren des hex-dump in eine binäre Datei mitxxd -r
:Können Sie sehen mehr details und Optionen in
xxd
's manpagevim
hat eine gui. Verwenden Sie einfachgvim
überall, wo ich schriebvim
.vim
's diff-Modus ermöglicht das Zusammenführen sehr effizient.xxd -r
. Ich aktualisierte die Antwort mit details.Haben, könnten Sie einen Blick auf ECMerge (ein tool, mit dem ich arbeiten), es hat eine 2-und 3-Wege-diff von Binärdateien (HEX + ASCII). Es gibt keine "merge" - Funktion. Sie können verschieben geändert von Gebiet zu Gebiet wechseln leicht und kompakt lange Zonen (lange Einfügungen, änderungen oder unverändert).
Die neueste version von Beyond Compare zu unterstützen scheint,3-Wege-diff-und merge. Zudem feature-Liste sagt, es unterstützt den Vergleich von binären Dateien.
Beachten Sie, dass dies keine freie software 🙂
xxd
zum konvertieren von Binärdateien in text, dann mit BC für 3-Wege-vergleichen, dannxxd -r
umwandeln des zusammengeführten Texte wieder in binäre.Ich wurde vor kurzem eingeführt, um p4merge, die offenbar auch Unterstützung für binäre Dateien.
Dauert es 3 Dateien, die als input: Das original und zwei Derivate. Es zeigt Ihnen side-by-side, mit einem vierten Fenster, das zeigt die zusammengeführte Datei, mit Funktionen für die Bearbeitung und Lösung von Konflikten.
Habe ich nur verwendet diese zum Zusammenführen von zwei ästen einer großen Codebasis, und es war äußerst bequem.
Nun, ich habe nicht verwendet es zum Zusammenführen von Binärdateien, aber es unterstützt, diff-Bildern, so dass ich überrascht sein würde, wenn die Binärdateien wurden nicht unterstützt.