假设我有一个项目在我自己的版本控制之下。然后我想要对第三方库做一些更改,所以我想把这个库的源代码放在我的项目中的某个地方,以便与项目的其余部分一起处于我的版本控制之下。然而,第三方库在另一个版本控制软件系统上的其他地方维护。因为我要派生这个库,所以我想拉取它的更新,以便稍后从外部世界提交。
我不知道构建这种情况的正确方式。我是否只有第三方库及其版本控制,并全部嵌套在我的版本控制设置中?或者,当我从外部世界拉入更新时,我是否应该在其他地方维护它,并符号链接文件,甚至将它们copy+paste到我的项目中?
发布于 2010-06-17 00:22:58
我通常做的是有一个第三方库存储库的本地副本。但是,本地副本不是我构建项目时所在树的一部分。在我的项目代码库中,我只有我的代码所依赖的最终lib二进制文件(对于C++,还有相应的头文件)。
这种结构允许我定期获取lib更新并对其进行评估,同时确保我的项目是使用稳定的lib位构建的。一旦我确保对库的任何新更改都不会破坏我的项目,我就用新的二进制文件更新我的项目代码库。
当然,您也可以将库源代码直接包含在项目构建中。你甚至可以自动拉取更新。但是,如果您这样做,您的项目稳定性将留给库维护者的摆布,并且其源代码或行为的任何破坏性更改都可能对您的项目进度产生不利影响。
https://stackoverflow.com/questions/3055189
复制相似问题