假设我在自己的版本控制下有一个项目。然后我想对第三方库进行一些更改,所以我想把我的项目中的lib的源放在我的版本控制下与项目的其余部分。但是,第三方lib在另一个版本控制软件系统上的其他地方维护。因为我正在使用这个lib,所以我想要为以后从外部世界提交的更新提取更新。
我不知道构建这种情况的正确方法......我是否只有第三方lib及其版本控制并且所有嵌套在我的版本控制设置中?或者我将其保存在其他地方并对这些文件进行符号链接,甚至在我从外部世界提取更新时将其复制+粘贴到我的项目中?
答案 0 :(得分:0)
我通常做的是拥有第三方库存储库的本地副本。但是,该本地副本不是我构建项目的同一树的一部分。在我的项目repo中,我只有我的代码依赖的最终lib二进制文件(以及相应的头文件,如果是C ++)。
这种结构允许我定期提取lib更新并对它们进行评估,同时确保我的项目使用稳定的lib位构建。一旦我确保对库的任何新更改都不会破坏我的项目的稳定性,我就用新的二进制文件更新我的项目仓库。
当然,您也可以直接将库源包含在项目构建中。您甚至可以自动提取更新。但是,如果您这样做,您的项目稳定性将受到库维护者的支配,其源或行为的任何重大变化都可能对您的项目进度产生负面影响。