deltaを使用して 2 つのバイナリ ファイルを比較して生成する必要がありますVCdiff。生成されたパッチ ファイルを BSpatch を使用してノードに適用できますか? BSdiff によって生成されたパッチ ファイルを適用するために使用されることは知っていBSpatchますが、BSdiff によって生成されたパッチ ファイルを適用するために BSpatch を使用できるという規定はありますか?VCdiff
1 に答える
0
いいえ、それは不可能です。同様に、bspatch は、rtpatch または zdelta ソリューションによって作成されたデルタ ファイルの挿入を実行しません。これらのメカニズムはすべて、異なるアルゴリズムを使用しています。さらに、BSDIFF4 ソリューションは、作成されたパッチ ファイルに文字列 "BSDIFF40" も追加します。
それでも、次のことを確認してみてください。
$ echo 1 > first
$ echo 2 > second
$ bsdiff first second bs_delta
$ vcdiff encode -dictionary first < second > vc_delta
$ xxd vc_delta > vc_delta_hex
$ xxd bs_delta > bs_delta_hex
$ diff vc_delta_hex bs_delta_hex
結果は次のとおりです。
1,2c1,8
< 0000000: d6c3 c400 0001 0200 0802 0002 0100 320a ..............2.
< 0000010: 03 .
---
> 0000000: 4253 4449 4646 3430 2a00 0000 0000 0000 BSDIFF40*.......
> 0000010: 0e00 0000 0000 0000 0200 0000 0000 0000 ................
> 0000020: 425a 6839 3141 5926 5359 009d 217b 0000 BZh91AY&SY..!{..
> 0000030: 0140 007c 0020 0021 9a01 9a02 5ad2 347c .@.|. .!....Z.4|
> 0000040: 5dc9 14e1 4240 0274 85ec 425a 6839 1772 ]...B@.t..BZh9.r
> 0000050: 4538 5090 0000 0000 425a 6839 3141 5926 E8P.....BZh91AY&
> 0000060: 5359 40c2 7e6e 0000 00c8 0000 1010 0020 SY@.~n.........
> 0000070: 0021 0082 b177 2453 8509 040c 27e6 e0 .!...w$S....'..
ご覧のとおり、デルタ作成用の入力ファイルは同じですが、ファイルは完全に異なります。
于 2015-07-31T15:43:07.450 に答える