一種可以輕鬆合併JW庫備份的命令行工具,並編寫為GO。對於iOS版本,請訪問iOS-JWLM。
GO -JWLM允許您合併兩個.jwlibrary備份文件,同時賦予您對流程的控制 - 您的筆記是寶貴的,並且您不需要信任程序解決可能的合併衝突。
我創建了這個項目,目的是擁有能夠在多個操作系統上工作的工具,甚至允許將其作為庫中(例如iOS應用程序)合併到其他程序中。這是 - 並且將在相當長的一段時間內 - 一個正在進行的項目,因此,如果您遇到意外的行為或其他錯誤,我始終為建議,尤其是報告。
用法非常簡單:您有一個命令,命名備份文件 - 然後按Enter。該工具將為您合併所有條目。如果它遇到衝突(例如與不同的內容或兩個重疊的標記相同的註釋),它會要求您提供說明:它應該選擇左版本還是右版?完成之後,您可以將其備份良好,可以將其導入到JW庫應用程序中。由於可能的衝突數量,第一個合併過程可能需要一些時間,具體取決於您的備份相距多遠。但是,如果您定期合併它們,那應該是幾秒鐘的問題:)
go-jwlm merge < left-backup > < right-backup > < merged-backup >
如果在合併時發生衝突,則該工具會要求提供說明:它應該選擇左版本或右版本。為此,它顯示了實際條目(我打算改善該觀點並添加更多信息,尤其是關於出版物的信息)。如果您不確定該怎麼辦,請按?
尋求幫助。
當前,您可以使用三個解答來自動解決衝突: chooseLeft
, chooseRight
和chooseNewest
(儘管最後一個僅適用於註釋)。正如他們的名字所暗示的那樣,如果發生衝突, chooseLeft
和chooseRight
將始終選擇同一方面,而chooseNewest
總是選擇最新的條目。
您可以使用--bookmarks
, --markings
, --notes
和--inputFields
標誌啟用這些求解器:
go-jwlm merge < left-backup > < right-backup > < merged-backup > --bookmarks chooseLeft --markings chooseRight --notes chooseNewest --inputFields chooseLeft
當您確定一側始終是最新的一側時,衝突解析器有助於定期合併。對於第一次合併,仍然建議您手動解決衝突,因此您不會意外覆蓋條目。
要快速比較兩個備份文件並檢查其內容是否相等,您可以使用go-jwlm compare <left-backup> <right-backup>
命令。這主要用於驗證,但在其他情況下可能有幫助:)
您可以在發布部分下找到用於Windows,Linux和Mac的編譯二進製文件。
可以使用Hombrew輕鬆安裝GO-JWLM:
brew install andreassko/homebrew-go-jwlm/go-jwlm
查看有關如何在https://brew.sh上安裝自製的說明
如果您想使用iPhone或iPad合併備份,請查看JWLM。它使用GO-JWLM的整個合併邏輯,但將其包裝在一個易於使用的iOS應用程序中。它已經在App Store上可用。
在某個時候可能會出現Android版本,但是由於我個人不使用任何Android設備,但這是 - 不幸的是 - 現在不是我的最高優先事項。如果您有興趣幫助該項目,請隨時與我聯繫,或者自己啟動它:)
Gomobile可以在移動應用程序中包含GO軟件包。由於仍然存在一些局限性,我為大多數結構和方法構建了包裝器。要自行構建綁定,請安裝gomobile,更改為此存儲庫的gomobile
目錄並運行gomobile bind -target <ios or android>
。
我花了一段時間才相信自己的程序,但我仍然保留庫的備份 - 您也應該。 GO-JWLM仍處於β相,因此由於尚未找到的錯誤,有可能會丟失某些東西。因此,請記住這一點,並且 - 再次 - 如果您發現一個錯誤,請隨時打開問題。
尚不清楚,您有有關文檔的建議,還是發現了一個錯誤?隨意打開一個問題。我很樂意提供幫助,儘管如果需要一段時間才能做出回應,請耐心等待:)