1

我存档了正在进行的工作的连续版本:

MySoftware-v1.01beta.rar [2 GB]

MySoftware-v1.02beta.rar [2 GB]

MySoftware-v1.03beta.rar [2 GB]

MySoftware-v1.04beta.rar [2 GB]

等等

大量文件被修改,因此不可能只备份修改过的文件:大部分文件每次都被修改。

如何做一个只保存“差异”的.rar文件 (我应该使用“补丁”还是“差异”之类的东西?->我从未使用过它们)。有很多“差异”工具,好吧,但是结果文件不会是.rar,它只会是一个“差异文件”:所以每次我想重新打开这样的档案时,我都会必须“去差异化”它,然后我才会再次拥有一个 .rar。

我在 Windows 上,如果可能的话,我想使用 winrar 或命令行工具(如果不需要第三方软件那就太好了)。

提前非常感谢!

4

2 回答 2

1

你说你的产品 90% 是 .wav 文件。由于两个不同的 wav 文件上的差异可能会产生巨大的差异,因此这不太可能为您节省任何空间。.wav 文件也不是真正可压缩的,因此 zip 或 rar 也可能没有太大帮助。

但是,如果像我们大多数程序员一样,您从前一个版本中派生出您的下一个产品版本,主要是保持文件不变(无论是源文件还是 .wav 文件),那么您真正想要做的只是存储,对于每个版本,更改的文件。这在备份/压缩领域称为“重复数据删除”。

您可以自己组织一个复杂的计划来执行此操作。(例如,您的自我建议“使用 winrar 执行此操作”)。但是,如果您使用一个体面的“源代码控制系统”(SVN 或 GIT 就可以),这将在您签入更改的文件时自动发生(并且不要重新签入未更改的文件)。这些工具通过跟踪版本之间的“差异”来工作;您可以告诉工具跟踪文本(“差异”)样式差异,或者简单地存储整个内容。

此外,由于您的个人版本占用 2GB,我会在 2 或 4 TB(外部)驱动器上浪费 100 美元。在最坏的情况下,这应该会持续大约 1000 次迭代。(SVN/GIT 可能会进一步扩展这一点)。

于 2012-05-30T13:40:11.183 回答
0

你真的应该使用源代码控制系统。一个流行的称为“ git ”。还有许多其他人,每个人都有自己的长处和短处,关于哪个“最好”的辩论是漫长而乏味的。

源代码控制系统负责存储和管理文件的修订。实际方法各不相同,但作为使用版本控制的程序员,您“签入”文件进行存储和版本控制,用修订号“标记”它们,然后“签出”文件进行修改。

如果你曾经使用 'svn' 或 'cvs' 从 Internet 下载源代码,我的意思就是这种类型的东西。

源代码控制系统通常使用某种差异系统来仅存储修改文件之间的差异。它的目的是让您不必考虑复制和备份文件 - 您所要做的就是确保正确备份您的“存储库”。

此外,作为一个额外的优势,您可以对源文件进行更改并始终进行备份,以防您的更改需要恢复。因此,假设您想尝试一个新的文件处理系统,您可以使用源代码控制系统来创建一个测试(或任何您想称呼它的)“分支”,并在其中进行所有更改,而不会损坏软件的工作副本. 如果更改很好,您可以将更改“合并”到存储库的非测试分支中。

于 2012-05-30T11:25:53.273 回答