我们的开发使用了大量开源代码,我试图找出管理这些外部依赖项的最佳方法。
我们目前的配置:
- 我们正在为 linux 和 windows 开发
- 我们将 svn 用于我们自己的代码
- 外部依赖项(boost、log4cpp 等)不存储在 svn 中。相反,我将它们放在 ./extern (或 Windows 上的 c:\extern )下。我不想将它们放在我们的存储库中,因为我无法以这种方式更新它们。其中一些正在不断更新。
我的问题
如果我需要修改外部代码怎么办?目前我已经在我的 svn 存储库中创建了一个名为 extern_hacks 的文件夹,这就是我放置修改后的外部代码的地方。然后我将文件链接(或在 Windows 上复制)到外部目录结构中。这个解决方案是有问题的,因为很难跟踪复制文件,并且当文件位于两个存储库中时很难从 svn 更新(我的用于修改的文件,原始存储库说 sourceforge)
如何管理外部依赖的版本?
我很想听听其他人如何处理这些问题。谢谢。