2011-12-07 60 views
11

我想知道什么是以“团队友好”的方式保持二进制依赖关系的最佳方法。如何在版本控制系统中保持二进制依赖关系?

我们有跨平台应用程序许多依赖。其中包括32/64 * linux/windows/mac版本的商业库以及一些非标准编译的开源库,这些库并非如此重现环境。此外,我们有图形资产,有时很大(250Mb是很常见的)。

库需要更新,有时会重新编译等资产也更新了,我们需要他们在同步的代码。

我要实现一些接近一次单击更新和构建系统。

我试图在SVN藏在心里,但它会导致veeeery长更新,即使数据没有被修改。

现在我想一些脚本系统,这将下载并仅在需要时库和资产,解压压缩文件,生成事件。脚本将被版本化,不会日期。

但也许有准备好使用的解决方案?你有什么经验吗?

+2

您是否使用[Artifactory](http://www.jfrog.com/products.php)或[Nexus](http://nexus.sonatype.org/)这样的工件存储库进行了研究? – atodd

回答

2

子模块对此很好。在一个项目中,我拥有私人在unfuddle.com中托管的应用程序的代码,并且所有在公共领域中的DLL(等等)都保存在github中。这最终使用我们非常小的私人存储空间。

3

与Mercurial 2.0,你可以使用largefiles extension来管理这些文件。它们将被保存在正常历史之外并按需下载。该扩展仍然有一些尖锐的边缘,所以请确保至少使用2.0.1版本。这就是说,我更喜欢使用专门的工具 - 因为依赖管理最好在源控制系统之外完成。

相关问题