如何将rdiff delta文件转换为常规差异?

我需要区分两个非常大的文件, 这个文件太大而不能处理。 rdiff可以在几秒钟内为它们生成一个delta文件,但是我想要一个真正的差异作为输出。 有没有一种方法将rdiff delta转换为常规diff?

我不认为这是(容易)可能的。 rdiff将文件parsing为字节块,为固定大小的字节块生成签名。 然后将新文件与这些签名进行比较。 增量文件包含所有不同的块,不一定匹配原始或比较文件中的行。

例如,一个原件:

 AAAAAAAAAA BBBBBBBBBB CCCCCCCCCC DDDDDDDDDD 

和….相比:

 AAAAAAAAAA BBBBOOOBBB CCCCCCCCCC DDDDDDDDDD 

可能会产生三angular洲:

 [..]BOOOBBB CCCCCCCCCCC DDDDDDD[..] 

常规的diff文件通常包含所有更改的行。 rdiff delta文件可能只是一些改变的行的一部分,还有很多不变的行。 您将不得不再次parsing文件以确定实际更改的行。

有关更多信息,请参阅rdiff文档或http://librsync.sourcefrog.n​​et/doc/rdiff.html