svn - 您是否将构建工具保留在版本控制中?

标签 svn version-control

您是否在版本控制下保留了构建项目所需的工具?

如果这样做,您将包括哪些工具的准则是什么?我猜没有人将Visual Studio置于版本控制中,但是您的单元测试运行器又如何呢? Nant / Ant / Maven可执行文件?

外部依赖性如何?您是否在版本控制中使用了Boost? JDK? NUnit / JUnit?您在哪里画极限?

(另请参见this question)。

编辑:
我想我的问题还不是很清楚:我不想知道您是将它们保留在版本控制还是共享驱动器中。我真的很想知道您是否检查了将项目与版本一起构建到版本控制中所必需的工具,以便当您 check out 项目时,将自动获得这些工具。

作为对那些没有回答的人的一般性跟进:您跟踪这些工具的过程是什么?您的脚本是否下载了它们?

最佳答案

关于此问题有两种思想流派:

  • 仅将放入源代码库中。
  • 将除了操作系统和语言运行时之外的其他任何需要构建您的软件的内容都放入存储库中。

  • 我个人更倾向于#2,因为它使某人更容易启动并运行我的代码。无论如何,我会争辩说,如果您选择第一种方法,则至少应该做到这一点,以便一个人可以一步获得第二点和您的源代码所需的东西,即使不一定要通过版本控制。

    不幸的是,构建系统只是一个灰色区域。除非我使用的是晦涩或非标准的东西,否则我个人将其遗漏。而模糊和不标准的地方取决于您所使用的环境。例如,如果您的公司始终使用MSBuild,但出于某种原因决定在该项目上使用Nant,则将其包括在内。

    关于svn - 您是否将构建工具保留在版本控制中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/421880/

    相关文章:

    svn - 如何忽略文件夹而不将其从我的存储库中删除

    svn - 颠覆: howto find all revisions that are not merged to trunk?

    xcode - Xcode 4 在哪里存储它的颠覆日志?

    version-control - AWS Glue ETL 作业中是否可以进行版本控制?

    windows - 如何查看谁在 Windows 文件服务器上打开了文件

    version-control - 管理二进制版本

    svn - 如何让 Subversion 使用 Linux 系统帐户进行​​身份验证?

    svn - 无法连接到 Subversion 本地存储库

    Git Hooks - merge 后 Hook 文件不存在

    ruby-on-rails - GIT 删除了我的本地文件