git - 在版本控制系统中保持二进制依赖关系的方法是什么?

标签 git svn version-control mercurial cmake

我想知道以“团队友好”方式保持二进制依赖关系的最佳方法是什么。

我们有很多跨平台应用程序的依赖项。这包括 32/64 * linux/windows/mac 版本的商业库和一些在非标准、不那么简单的重现环境中编译的开源库。 此外,我们的图形 Assets 有时会很大(250Mb 很常见)。

库需要更新,有时需要重新编译等。 Assets 也需要更新,我们需要它们与代码同步。

我想实现接近一次点击更新和构建系统的东西。

我尝试将所有内容都保留在 SVN 中,但它会导致非常长的更新,即使数据没有被修改。

现在我正在考虑一些脚本系统,它会下载和解压缩带有库和 Assets 的压缩文件,仅在需要时作为构建事件。脚本将被版本化,日期不会。

但也许有现成的解决方案?你有这方面的经验吗?

最佳答案

在 Mercurial 2.0 中,您可以使用 largefiles extension管理此类文件。它们将保存在正常历史记录之外并按需下载。该扩展仍然有一些锋利的边缘,因此请确保您至少使用 2.0.1 版。

话虽这么说,我更喜欢为此使用专用工具——因为依赖管理确实最好在源代码控制系统之外完成。

关于git - 在版本控制系统中保持二进制依赖关系的方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8422779/

相关文章:

svn - TortoiseSVN 将无法连接到 Windows Vista 64 上的 subversion

git - 我可以运行受密码保护的只读 git 服务器吗?

windows - Windows 最常用的版本控制软件是什么?

Git:保留当前代码状态和​​最后四次提交

java - 如何避免将身份验证数据置于版本控制中?

svn - 关于艺术品开发流程的问题

svn - 有人有 National Instruments CVI 和源代码控制方面的经验吗?

asp.net - Web 开发设置

android - 如何从 Github 在 Android Studio 1.1 中导入和运行项目?

git 推送错误 : RPC failed; HTTP 500 curl 22 The requested URL returned error: 500