Ich habe die Aufgabe, ein Werkzeug zu erstellen, das die Konfigurationsdateien für das Produkt meines Unternehmens vergleichen und zusammenführen kann. Die Konfigurationen werden als XML- oder URL-codierte Zeichenfolgen gespeichert. Ich bin auf der Suche nach einer Bibliothek, vorzugsweise Open Source mit einer Lizenz, die mit kommerzieller Software kompatibel ist, die diese Unterschiede machen kann. Unsere App ist in C++ geschrieben, also wären C++ - Bibliotheken am besten, aber ich bin bereit, Bibliotheken zu betrachten, die C# -spezifisch sind, da ich einen Wrapper schreiben kann, der ihn über COM für C++ verfügbar macht. Drei-Wege-Diffs wären ideal, aber Zweiweg ist akzeptabel. Wenn es XML versteht, wäre das ein Plus (da XML-Knoten neu angeordnet werden können, ohne das Dokument zu ändern usw.). Irgendwelche Bibliothek Vorschläge? Sollte ich überhaupt in Erwägung ziehen, meine eigenen Diff-Tools zu schreiben, in der Hoffnung, sie mit semantischem Wissen über unsere Formate zu versehen?Bibliothek für die Erstellung von Diffs
Dank this similar question habe ich bereits this google library entdeckt, das scheint wirklich toll, aber ich bin immer noch auf der Suche nach anderen Optionen. Es scheint auch in der Lage zu sein, die Diffs im HTML-Format (mit den Tags <ins>
und <del>
, die ich nicht kannte, bevor ich es entdeckte) auszugeben, was wirklich praktisch sein könnte, aber es scheint nur ein einheitliches Diff zu sein. Ich muss die Ergebnisse in einem Webbrowser anzeigen und wahrscheinlich auch eine Schnittstelle für die Zusammenführung im Browser erstellen. Ich erwarte nicht, dass eine Bibliothek in der Lage ist, bei diesen Aufgaben zu helfen, aber ich muss die Ausgabe in einem Format produzieren, das für mich geeignet ist, dies zusätzlich zu erstellen. Ich stelle mir gerade etwas vor wie TortoiseMerge (Side-by-Side-Diffs, nicht vereinheitlicht), außer browserbasiert. Irgendwelche Tipps/Tricks/Design-Ideen, um dies zu präsentieren, würde auch geschätzt werden.