2つのフォルダ間の違いをキャプチャして適用するためのコマンドラインツール

2つのフォルダ間の違いをキャプチャして適用するためのコマンドラインツール

私は次の2つのことができるコマンドラインツールを探しています。

  1. 2つのフォルダ(パス)を提供します。

    2つのフォルダ間のすべての違いを含むデルタファイルを作成します。

    2番目のフォルダを取得するには、後でファイル内の最初のフォルダにこれらの違いを「適用」できる必要があります。

    使用例=>

    compute-deltas /path/folder1/ /path/folder2/ -o delta-file

    デルタファイルを受け取りました

  2. フォルダとデルタファイルを提供すると、そのフォルダにすべての違いが「適用」されます。

    apply-deltas /path/folder1/ delta-file -o /path/folder2/

    コマンドを実行する前に、=>は空または/path/folder2/存在しないフォルダです。

    コマンド実行後=>/path/folder2/フォルダ1とデルタファイルから完全に回復

仕組みのアイデアは次のとおりです。既存のツールが思ったら教えてください。ありがとうございます!

これは、rsyncをアーカイブ(またはイメージ作成)してから適用(実行)するのと同じです。

ベストアンサー1

rdiffユーティリティはrsyncアルゴリズムを使用して、ファイルAとファイルBの違いを含むデルタファイルを生成します(diffユーティリティと似ていますが、デルタ形式は異なります)。その後、デルタファイルをファイルAに適用してファイルBに変換できます(パッチユーティリティに似ています)。 rdiffはバイナリファイルで動作します。

https://en.wikipedia.org/wiki/Rsync#rdiff

https://superuser.com/a/1523459/775371

rdiffdirはrdiffに似ている必要がありますが、ディレクトリで動作できます。

https://linux.die.net/man/1/rdiffdir

おすすめ記事