gpt4 book ai didi

delphi - 从另一个 TFS 项目链接 TFS 源代码控制文件夹

转载 作者:行者123 更新时间:2023-12-03 18:24:51 24 4
gpt4 key购买 nike

我们正在迁移到 TFS 2010(从 PVCS)进行源代码控制和工作项跟踪

据我了解,您应该对每个 TFS 项目进行源代码控制,项目解决方案等需要构建的所有内容。

这适用于新的 .NET 解决方案/项目,但我们有大量遗留的 德尔福 6 共享的项目来源 我们要移植到 TFS 以进行源代码控制和构建的库。这就是我们管理多个 TFS 项目的方式,这些项目希望在它们之间存储一组特定的源文件,这是我的问题。

从历史上看,对于 PVCS,我们有每个解决方案的项目(比如 A 和 B),以及一个用于公共(public)源代码的单独项目(比如 C)。用户将获得 C,然后在磁盘上获得 A 或 B(根据需要 checkout ),这将是这样的:

$\Projects\C
$\Projects\B

但是 B 和 C 是单独的 PVCS 文件。

现在,将 TFS 2010 作为我们的 ALM 解决方案,让生活快速发展……

如果我们创建一个 TFS 项目 (1),其中包含公共(public)代码 (C) 的源存储库,那么该项目显然可以访问它(假设 TFS 项目也包含解决方案 A)并且一切都很好。

我们现在创建一个新的 TFS 项目 (2),在其中制作解决方案 B。因为解决方案 B 与解决方案 A 大不相同,我们没有理由共享 TFS 项目 1 的源代码控制,因此我们创建了一个新的源存储库,而不是从 1 分支。现在稍后我们发现解决方案 B 需要从 C 访问一些公共(public)文件(在 1 中)。哎呀!

问题是这样的;我可以执行一些源代码控制向导,让我在 2 的源代码控制中添加一个文件夹,该文件夹是(窃取文件系统术语)符号链接(symbolic link)到 1 的公共(public)代码 C 的源代码控制?

编辑
我应该指出这是所有遗留代码,共享源库 (C) 只是共享源,它没有构建到库或其他二进制文件中,我们可以简单地添加到 A 或 B。

最佳答案

如您所知,在 TFS 2010 中,他们引入了 的概念。项目集合(PC) .每个项目集合都是 的聚合。团队项目 (TP) .每台 PC 都存储在一个单独的数据库中,而 VCS 存储在该数据库中。

这意味着每台 PC 有一个 VCS 存储库,而不是 TP。每个 TP 是(默认情况下)每个 VCS 中的根文件夹(即 TP1 将位于 $/Prj1,TP2 可能位于 4/Prj2 等)

还有一点是您不希望每个 TP 有一个解决方案。将 TP 视为一套产品,并将解决方案视为其中的一部分。

根据 Visual Source Safe 的符号链接(symbolic link),TFS 中不再存在,我不确定您是否需要它们。在一个解决方案和另一个解决方案的源代码之间创建依赖关系不是一种好的做法。

我建议你做的是让你的代码库中的每个解决方案只依赖于它自己的代码,关于其他解决方案的二进制交付。

将会发生的情况是,如果 Sln_A 依赖于 Common_Sln,您将构建 Common_Sln,并将其二进制文件从放置位置作为 Get 的一部分。然后,将二进制文件添加为引用。

这将解决您的问题,另外还有一个好处是将依赖项可能会破坏您的依赖解决方案构建的紧密耦合转换为一种情况,即您不会更改或升级您的依赖项,直到它们准备好并且您已为它们做好准备。

这有助于解决您的问题吗?这就是我对我咨询的项目的处理方式。

高温下,
阿萨夫。

关于delphi - 从另一个 TFS 项目链接 TFS 源代码控制文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5065582/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com