我们的开发使用了大量的开源代码,我试图找出管理这些外部依赖项的最佳方法.
我们目前的配置:
我们正在为linux和windows开发
我们使用svn作为我们自己的代码
外部依赖项(boost,log4cpp等)不存储在svn中.相反,我将它们放在./extern(或Windows上的c:\ extern)下.我不想将它们放在我们的存储库中,因为我无法以这种方式更新它们.其中一些不断更新.
我的问题
如果我需要修改外部代码该怎么办?目前我在我的svn存储库中创建了一个名为extern_hacks的文件夹,这是我放置修改后的外部代码的地方.然后我将文件链接(或复制到Windows)到外部目录结构.这个解决方案存在问题,因为很难跟踪复制文件,而且当文件位于两个存储库中时很难从svn更新(我的修改后的文件,原始存储库说sourceforge)
如何管理外部依赖项的版本?
我很想知道其他人如何处理这些问题.谢谢.
我将它们保存在svn中,并将它们作为供应商分支进行管理.让它们在外部保持松散使得很难回到之前的构建,或修复以前构建中的错误(特别是如果错误来自对外部依赖的更改)
将它们保存在svn中为我节省了很多麻烦,并且还允许您使用能够快速处理代码库的新工作站.