代码之家  ›  专栏  ›  技术社区  ›  Brian MacKay

为什么不直接对引用进行源代码管理?

  •  4
  • Brian MacKay  · 技术社区  · 16 年前

    我正在为我的组织建立一些新的源代码管理最佳实践,所以在过去的几天里我一直沉浸在Treesurgeon之类的事情中。

    我经常看到的一件事是,最好的做法是将引用包含在源代码管理树中,但要包含在单独的目录(lib/in tree surveyor)中,而不是直接使用代码,因为它们自然会出现在ASP.NET项目中。

    我知道直接在bin文件夹中进行源代码管理不好的几个原因,但我想了解全局,包括在新机器上从源代码管理中提取代码后,如何将这些引用返回到ASP.NET项目中。

    事先谢谢!

    布瑞恩

    1 回复  |  直到 16 年前
        1
  •  6
  •   Franci Penov    16 年前

    您希望外部依赖项位于单独的文件夹中,原因如下:

    • 你已经清楚地了解了在这个特定的外部依赖中包含了什么。
    • 您可以添加与构建无关的内容,如站点链接、文档、示例和其他内容,而不会污染您的项目。
    • 您可以在多个项目之间共享这种依赖关系
    • 您不想将构建人工制品与源代码混合使用,因为它使您/您的团队拥有什么和不拥有什么变得不清楚。
    • 您希望有明确的步骤,在构建期间引入外部依赖项,以确保您能够控制最终包中的内容。
    • 分支源也将创建依赖项的多个副本(如果它们混合在一起的话)。
    • 一些新手无意中签入另一个文件版本并破坏外部依赖关系,从而破坏项目稳定性的可能性较小。

    回答第二个问题:

    我们通常在一个单独的文件夹中有一个外部依赖项的副本,但仍然在源代码管理下。所有项目引用都使用相对路径指向该文件夹。因此,当人们在新的机器上登记时,他们得到一整套的源以及为构建产品准备的外部依赖项。

    此外,我们的构建还有一个额外的步骤,可以在源树之外生成干净的放置文件夹。这是我们的部署副本,它包含最终产品工作所需的所有构建人工制品和所有源(如.aspx)的副本。这迫使人们真正思考最终产品中需要包含什么。