1

我们在 ClearCase UCM 中有一个流。我们在这个流上创建视图并为构建目的获取代码。复制的总数据为 10 GB。这是一个巨大的代码库。我决定调查是什么让它变得如此庞大。

我发现:

1) 多个版本的第三方应用程序存储在 ClearCase 中

2) 但我们的应用程序只使用最新的第三方应用程序

3) 有很多过时和冗余的代码可用

我提议:

1) 使用rmname(不是 rmelement)删除旧版本的第三方应用程序,这将确保元素历史记录的可用性

2)去除所有冗余代码

共检测到 5 GB 的过时数据。

我的逻辑:

我认为这是保持开发流程清洁的最佳方式。也就是说,组织开发流的最佳方式是拥有最好、最干净和最精简的源代码。

此外,由于所有 HISTORY 将始终在 ClearCase 中可用,因此无需担心删除元素。

我觉得陈旧、冗余和过时的代码和工件属于历史,而不是当前的开发流程。

最后,如果我们在 VOB 中有膨胀,我觉得像制作基线等 ClearCase 操作将需要更多时间。由于我们为每晚构建做一个增量基线,我不认为这些过时的项目是基线。但我觉得所有 ClearCase 操作都会受到膨胀的影响。

我的逻辑正确吗?我对 UCM ClearCase 的理解正确吗? *请让我知道在这种情况下的最佳做法。*

尽管当前流中已过时 5 GB 数据,但我工作场所的人们不想删除过时的文件。

任何帮助,将不胜感激。

4

1 回答 1

0

在这种情况下,最佳实践实际上与 UCM 是分开的。
我也开始在 ClearCase 中存储第三方二进制文件。它不能很好地扩展,Vob 开始变得臃肿,而且太大而无法轻松管理(即备份)。

我现在更喜欢将第三方存储在像 Nexus 这样的工件存储库中,并在我的构建过程中添加一个小的 maven 脚本,以便下载正确版本的正确二进制文件,如 pom.xml 文件中所述。

请注意,要从 vob、rmelem 或 rmver 中删除旧版本的二进制文件,实际上是不可取的(超链接损坏的风险),但我曾经这样做:

cleartool rmver -data aLargeBinary@/main/.../branch/OldVersion

这将保留ClearCase 中的版本,但会删除版本内容(即大型二进制文件本身):这允许 Vob 变得更小。


话虽如此,我同意您的一般政策(尤其是关于冗余代码)

于 2012-12-26T17:01:12.810 回答