1

在我们的构建系统中,一旦构建结束,程序集也将被签入。但是当我们搬到 UCM 时,建筑师们对此意见不一。很少有人支持签入已编译的程序集和 msi,也很少有人反对。

当我们办理登机手续时,我们只是做符号链接,这给了我们很大的优势。此外,当签入完成后,它将从 bin 和 release 文件夹中删除条目,而不是复制。它帮助了我们很多。每天,人们都可以通过每晚构建来处理最新的组件签入。现在他们无法做到这一点。他们希望我将 Nightly build dll 复制到某个常见的地方。

另一方面,由于每天签入,我们的存储库变得庞大。

我不知道什么是最好的选择。

您能分享您对哪种方法更好的想法吗?在 UCM/Clearcase 中签入程序集是否更好?

4

2 回答 2

2

作为一种实践,不应将所有构建输出置于源代码控制之下。但是,您必须将它们放在一个共同的地方,直到它们过期。这种做法背后的哲学是:

  1. 当您向其中添加二进制文件时,存储库的大小会变大。
  2. 在夜间构建中生成的旧版本的程序集(属于 2 年前)是无用的。另一方面,旧版本的源代码及其历史一直很有用。
  3. 除了构建结果之外,软件产品通常还依赖于第三方组件。这些第三方组件通常是经过改进的,并且通常会发布它们的较新版本。将构建结果保存在源代码控制中,您必须将第三方组件的正确版本保存在其他地方。
于 2012-01-04T18:47:40.430 回答
1

反对在 ClearCase 中签入程序集的另一个原因是可能缺少清理功能:在不rmver损害 Vob 存储库的情况下,您不能轻易地使用一些您可能不需要的版本。

在 UCM 中尤其如此,其中元数据和超链接被添加到版本中,这使得删除一个非常危险的其他对象(如 UCM 基线)的完整性取决于它。

对于其他更一般的不对二进制文件进行版本控制的原因,请参阅“将框架运行时存储在源代码控制下是一种好习惯吗? ”和hsalimi回答

于 2012-01-05T11:27:50.583 回答