版本控制的第一条规则:永远不要将生成的资产提交到存储库。因此,您绝对不应该将Boost和Poco的构建产品提交到您的存储库。是否在存储库中包含依赖项作为源代码取决于您;它取决于您的项目,您需要多少依赖项,您的软件有多少公共可能可以轻松访问这些依赖项等。打包程序和发行版通常更喜欢您不捆绑您的依赖项,而是在README或INSTALL文件中仔细提及它们。
如果您希望为从VCS检查代码的人员轻松获取依赖关系,请尝试使用svn externals,git子模块或hg子目录,以便轻松排除依赖关系并建立与依赖关系的上游存储库的明确链接。
首先,如果您使用Maven,无关紧要。没关系。
现在,我已经完成了这项工作,我建议您使用Maven存储库管理器 关系 要么 Artifactory的 。
Artifactory和Nexus所做的是为第三方库创建网络范围的存储库结构。
您可以使用标准轻松下载发布存储库中的任何工件 wget 要么 curl 命令。如果您使用Ant,则可以使用Ivy来管理您的工件。如果你使用Maven,那么,你已经准备好了。这意味着您可以在构建脚本中编写所需第三方库的下载脚本。
wget
curl
版本存储库也可用于您的第三方库。您是否生成了您的其他项目使用的基础库?您可以使用相同的发行版和下载机制使编译对象可供系统使用。
签入您的第三方库会导致以下问题:
foo
顺便说一句,你从来没有提到过你的编程平台。如果您使用的是Ruby,Php或Perl,则可以使用其内置的存储库系统(分别为Gem,Pear和CPAN),您无需担心配置发布存储库。
当这些第三方库通过git可用时,我喜欢它,我可以将它们作为子模块包含在我的项目中。我非常喜欢那个。让更新成为一块蛋糕。
当那是不可能的,那么是的,我将他们的代码包含在我的回购中。最终,我要将我的生产分支转到我的操作人员,以推送到生产服务器,因此需要运行所需的所有商品。这可能与您的工作流程不同,但这就是我的工作方式。