我正在寻找一个命令行工具,它可以让我做两件事:
我给它两个文件夹(路径)
它会创建一个包含两个文件夹之间所有差异的增量文件。
该文件必须允许稍后在第一个文件夹上“应用”这些差异,以便获得第二个文件夹。
使用示例=>
compute-deltas /path/folder1/ /path/folder2/ -o delta-file
我得到一个增量文件
我给它一个文件夹和一个增量文件,它“应用”该文件夹的所有差异
apply-deltas /path/folder1/ delta-file -o /path/folder2/
运行命令之前 =>
/path/folder2/
是一个空或不存在的文件夹执行命令后=>
/path/folder2/
从folder1和delta-file完全恢复
这是它如何工作的一个想法,如果您想到现有的工具,请告诉我,谢谢!
这就像归档(或制作图像)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 类似,但可以对目录进行操作。