2

ウィキペディアでGDIFF(Generic Diff Format)を見たことがありますが、この標準を実装するコマンドラインツールはありますか。今私が持っている最高のものはLibXDiffですが、それはライブラリです。それを実行するには、追加の作業が必要になります。

バイナリ差分に関しては、VCDIFF(xdeltaなど)とbsdiffの方が圧縮率が高いことはわかっていますが、私の場合は、単純なものが本当に必要です。VCDIFFは現在のウィンドウの前に何かをコピーし(私の貧弱な英語の読みがこの記事について正しかった場合)、bsdiffのパッチファイル形式はより複雑になります。

アップデート

最後に、「小さな文字列照合を無効にする」と「外部解凍を無効にする」を切り替えると、xdelta3を使用したVCDIFFが実際に機能し、非常に役立つ(私のアプリにとって)情報を出力する非常に優れた「printdelta」コマンドがあることがわかりました。パッチファイルからVCDIFF形式を抽出する必要はありません。

4

1 に答える 1

4

Javaxdeltaライブラリは、xdeltaおよびGDIFFパッチを実装します。次のようなコマンドラインアプリケーションとして使用できます。

# create patch
java -cp javaxdelta-2.0.1.jar:trove-1.0.2.jar com.nothome.delta.Delta source.file target.file patch.gdiff
# apply patch
java -cp javaxdelta-2.0.1.jar:trove-1.0.2.jar com.nothome.delta.GDiffPatcher unpatched.file patch.gdiff patched.file

ディレクトリのパッチ適用をサポートするために、その周りにラッパーを作成しました(ディレクトリのGDIFFファイルは1つのZIPパッチにパックされています)。

于 2012-04-07T14:37:11.543 に答える