版本控制是否适合内容本质上是二进制数据文件的项目?
我正在考虑重量为 10 giga 的包,其中包含大量 BMP 和 TGA 文件。

Subversion 可以处理这样的事情吗?是否可以生成某种二进制补丁,允许用户只下载修改过的内容。 Rsync 可能是一种选择,但没有回头路可走。我真的很希望能够轻松返回到早期版本。

我也看了这个question,但对答案不满意

最佳答案

您的问题是一个发布管理问题,其中包括:

  • building:您如何以及多快地重新生成部分或全部交付内容?
  • 包装:该交付中有多少文件?
    如果您的内容包含太多文件,那么在任何远程环境中部署(即复制或 rsync)都不容易,与其说是因为全局大小,不如说是因为需要的事务数量。
  • 发布:您在哪里存储您的交付以及如何将其链接到生成它的初始开发环境?

  • 我认为如此大规模的交付不是为了在 VCS 中发布,而是存储在基于文件系统的存储库中,并使用适当的名称(或 version.txt)来识别其版本并将其链接回开发内容(在 subversion 中存储和标记)。
    Maven 就是这种 repo 的一个例子。

    我还要指出,要交付的内容应包括有限数量的文件,这意味着:
  • 将大量相关文件压缩成一个压缩文件
  • 运行一个不仅 rsynch 还解压缩这些文件的脚本
  • 关于svn - 滥用版本控制,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/704897/

    10-14 15:44
    查看更多