Ein Befehlszeilen-Tool, mit dem die Backups der JW-Bibliothek einfach zusammengeführt werden können, geschrieben in Go. Besuchen Sie für die iOS-Version iOS-JWLM.
Mit Go -JWLM können Sie zwei .jwlibrary -Sicherungsdateien zusammenführen und gleichzeitig die Kontrolle über den Prozess geben - Ihre Notizen sind wertvoll und sollten keinem Programm vertrauen, um mögliche Zusammenführungskonflikte für Sie zu lösen.
Ich habe dieses Projekt mit dem Ziel erstellt, ein Tool zu haben, das an mehreren Betriebssystemen arbeiten kann, und es sogar zulässt, dass es in andere Programme als Bibliothek (wie eine iOS -App) integriert werden kann. Es ist - und wird für einige Zeit sein - ein Arbeitsprojekt, daher bin ich immer offen für Vorschläge und insbesondere berichtet, wenn Sie auf ein unerwartes Verhalten oder andere Fehler stoßen.
Die Verwendung ist ziemlich einfach: Sie haben einen Befehl, Sie nennen Ihre Sicherungsdateien - und drücken Sie die Eingabetaste. Das Tool fügt alle Einträge für Sie zusammen. Wenn es auf einen Konflikt stößt (wie dieselbe Notiz mit verschiedenen oder zwei Markierungen, die sich überlappen), werden Sie nach Anweisungen gefragt: Sollte es die oder die rechte linke Version auswählen? Danach sind Sie fertig mit einer schön zusammengeführten Sicherung, die Sie in Ihre JW -Bibliotheks -App importieren können. Der erste Zusammenführungsprozess kann einige Zeit dauern, da mögliche Konflikte abhängig davon, wie weit Sie Backups voneinander entfernt sind. Aber wenn Sie sie regelmäßig verschmelzen, sollte es eine Frage von Sekunden sein :)
go-jwlm merge < left-backup > < right-backup > < merged-backup >
Wenn während der Verschmelzung ein Konflikt auftritt, fragt das Tool nach Anweisungen: Sollte es die oder die rechte linke Version auswählen. Dafür zeigt es Ihnen die tatsächlichen Einträge (ich plane, diese Ansicht zu verbessern und in Zukunft weitere Informationen, insbesondere über Veröffentlichungen, hinzuzufügen). Wenn Sie nicht sicher sind, was Sie tun sollen, drücken Sie ?
für Hilfe.
Derzeit gibt es drei Solvers, mit denen Sie Konflikte automatisch beheben können: chooseLeft
, chooseRight
und chooseNewest
(obwohl der letzte für Notizen nur für Notizen verwendet werden kann). Wie ihre Namen vermuten lassen, chooseLeft
und chooseRight
immer die gleiche Seite, wenn ein Konflikt auftritt, während chooseNewest
immer den neuesten Eintrag auswählt.
Sie können diese Löser mit den Flaggen für --bookmarks
, --markings
, --notes
und --inputFields
aktivieren:
go-jwlm merge < left-backup > < right-backup > < merged-backup > --bookmarks chooseLeft --markings chooseRight --notes chooseNewest --inputFields chooseLeft
Die Konfliktschlüsse sind hilfreich für regelmäßige Verschmelzungen, wenn Sie sicher sind, dass eine Seite immer die aktuellste ist. Für eine erste Zusammenführung wird immer noch empfohlen, Konflikte manuell zu lösen, sodass Sie nicht versehentlich die Einträge überschreiben.
Um schnell zwei Sicherungsdateien zu vergleichen und zu überprüfen, ob ihr Inhalt gleich ist, können Sie den Befehl go-jwlm compare <left-backup> <right-backup>
. Dieser wird hauptsächlich zur Validierung verwendet, könnte aber in anderen Situationen hilfreich sein :)
Sie finden die kompilierten Binärdateien für Windows, Linux und Mac im Abschnitt Release.
GO-JWLM kann einfach mit Hombrew installiert werden:
brew install andreassko/homebrew-go-jwlm/go-jwlm
Sehen Sie sich die Anweisungen zur Installation von Homebrew unter https://brew.sh an
Wenn Sie Backups mit Ihrem iPhone oder iPad zusammenführen möchten, schauen Sie sich JWLM an. Es verwendet die gesamte Merge-Logik von Go-Jwlm, füllt sie jedoch in eine schöne und einfach zu verwendende iOS-App. Es ist bereits im App Store erhältlich.
Es könnte irgendwann eine Android -Version kommen, aber da ich persönlich keine Android -Geräte verwende, ist dies im Moment nicht die höchste Priorität für mich. Wenn Sie an diesem Projekt helfen möchten, können Sie mich gerne kontaktieren oder einfach selbst beginnen :)
Mit Gomobile können GO -Pakete in eine mobile Anwendung einbezogen werden. Da es immer noch einige Einschränkungen gibt, habe ich einen Wrapper für die meisten Strukturen und Methoden erstellt. Um die Bindung selbst zu erstellen, installieren Sie Gomobile, wandeln Sie das gomobile
-Verzeichnis dieses Repo und führen Sie gomobile bind -target <ios or android>
aus.
Ich habe eine Weile gebraucht, um meinem eigenen Programm zu vertrauen, aber ich bleite immer noch Backups meiner Bibliotheken - und Sie sollten es auch. Go-Jwlm ist immer noch in Beta-Phase, daher besteht die Möglichkeit, dass sich aufgrund eines noch nicht findenden Fehlers etwas verliert. Denken Sie also bitte daran und - wieder - wenn Sie einen Fehler gefunden haben, können Sie ein Problem öffnen.
Etwas ist unklar, Sie haben Vorschläge für die Dokumentation oder Sie haben einen Fehler gefunden? Fühlen Sie sich frei, ein Problem zu eröffnen. Gerne helfe ich gerne, bitte sei geduldig, wenn es eine Weile dauert, bis ich antwortet :)