GOで書かれたJWライブラリバックアップを簡単にマージするコマンドラインツール。 iOSバージョンについては、iOS-JWLMにアクセスしてください。
go -jwlmを使用すると、2つの.jwlibraryバックアップファイルをマージできますが、プロセスの制御を提供します。メモは貴重であり、競合の可能性を解決するプログラムを信頼する必要はありません。
このプロジェクトは、複数のオペレーティングシステムで動作できるツールを作成し、ライブラリ(iOSアプリなど)として他のプログラムに組み込むことさえできることを目的として作成しました。それは、かなり長い間、進行中のプロジェクトであるため、予期しない動作や他のバグに遭遇した場合、私は常に提案やレポートを求めてオープンです。
使用法は非常に簡単です。1つのコマンドがあり、バックアップファイルに名前を付けてEnterキーを押します。このツールは、すべてのエントリをマージします。競合に遭遇した場合(異なるコンテンツまたは重複する2つのマーキングで同じメモなど)、指示を尋ねます:左バージョンまたは右バージョンを選択する必要がありますか?それが終了した後、JWライブラリアプリにインポートできるバックアップがうまくマージされています。最初のマージプロセスには、バックアップがどれだけ離れているかに応じて、競合の可能性があるため、時間がかかる場合があります。ただし、定期的にマージする場合は、数秒かかるはずです:)
go-jwlm merge < left-backup > < right-backup > < merged-backup >
マージ中に競合が発生した場合、ツールは道順を要求します。左バージョンまたは右バージョンを選択した場合。そのためには、実際のエントリを示しています(その見解を改善し、将来、出版物に関する情報、特に出版物に関する情報を追加することを計画しています)。何をすべきかわからない場合は、押しますか?
助けのために。
現在、競合を自動的に解決するために使用できる3つのソルバーがあります: chooseLeft
、 chooseRight
、およびchooseNewest
(最後の1つはメモにのみ使用可能です)。彼らの名前が示すように、 chooseLeft
とchooseRight
競合が発生した場合に常に同じ側を選択しますが、 chooseNewest
常に最新のエントリを選択します。
これらのソルバーは、 --bookmarks
、 --markings
、 --notes
、および--inputFields
フラグを使用して有効にできます。
go-jwlm merge < left-backup > < right-backup > < merged-backup > --bookmarks chooseLeft --markings chooseRight --notes chooseNewest --inputFields chooseLeft
競合リゾルバーは、一方が常に最新のものであると確信している場合、定期的なマージに役立ちます。最初のマージの場合、競合を手動で解決することをお勧めします。そのため、誤ってエントリを上書きする危険はありません。
2つのバックアップファイルをすばやく比較して、コンテンツが等しいかどうかを確認するには、 go-jwlm compare <left-backup> <right-backup>
コマンドを使用できます。これは主に検証に使用されますが、他の状況では役立つかもしれません:)
リリースセクションの下で、Windows、Linux、Mac用のコンパイルされたバイナリを見つけることができます。
go-jwlmは、Hombrewを使用して簡単にインストールできます。
brew install andreassko/homebrew-go-jwlm/go-jwlm
https://brew.shにHomebrewをインストールする方法の指示を参照してください
iPhoneまたはiPadを使用してバックアップをマージしたい場合は、JWLMをご覧ください。 Go-JWLMのマージロジック全体を使用しますが、使いやすく使いやすいiOSアプリにラップします。 App Storeですでに入手できます。
ある時点でAndroidバージョンが来るかもしれませんが、個人的にはAndroidデバイスを使用していないので、残念ながら、今の私にとっては最優先事項ではありません。このプロジェクトの支援に興味がある場合は、お気軽に連絡するか、自分で開始してください:)
Gomobileを使用すると、モバイルアプリケーションにGOパッケージを含めることができます。まだいくつかの制限があるので、私はほとんどの構造体と方法のためにラッパーを構築しました。独自のバインディングを構築するには、Gomobileをインストールし、このレポのgomobile
ディレクトリに変更し、 gomobile bind -target <ios or android>
を実行します。
自分のプログラムを信頼するのに時間がかかりましたが、私はまだライブラリのバックアップを保持しています。 go-jwlmはまだベータ段階にあるため、フィンダーになっているバグのために何かが迷子になる可能性があります。そのため、それを念頭に置いてください。もう一度 - バグが見つかった場合は、お気軽に問題を開いてください。
何かが不明確で、ドキュメントの提案がありますか、それともバグを見つけましたか?お気軽に問題を開いてください。私は喜んで助けてくれますが、私が応答するのに時間がかかるなら我慢してください:)