我们在ClearCase UCM中有一个流。我们在此流上创建视图并获取用于构建目的的代码。复制的总数据为10 GB。这是一个巨大的代码库。我决定调查是什么让它变得巨大。
我找到了:
1)存储多个版本的第三方应用程序 ClearCase的
2)但我们只使用最新的第三方应用程序 应用
3)有大量过时和冗余的代码可用
我建议:
1)使用 rmname删除旧版本的第三方应用程序 (不是rmelement),这将确保元素历史的可用性
2)删除所有冗余代码
检测到总共5 GB的过时数据。
我的逻辑:
我认为这是保持开发流程清洁的最佳方式。也就是说,组织开发流程的最佳方法是拥有最好,最干净,最精简的源代码。
此外,由于所有HISTORY将始终在ClearCase中可用,因此无需对删除元素感到恐慌。
我感觉旧的,冗余的和过时的代码和工件属于HISTORY,而不属于当前的开发流。
最后,如果我们在VOB中臃肿,我觉得像制作基线等ClearCase操作会花费更多时间。由于我们为夜间构建做了增量基准,我不认为这些过时的项目是基线的。但我觉得所有ClearCase操作都受到膨胀的影响。
我的LOGIC是否合适?我对UCM ClearCase的理解是否合适? * 请告知我这种情况下的最佳做法。 *
我工作地点的人不想删除过时的文件,尽管当前流中的5 GB数据已过时。
任何帮助都将不胜感激。
答案 0 :(得分:0)
在这种情况下,最佳做法实际上与UCM分开 我也开始在ClearCase中存储第三方二进制文件。它没有很好地扩展,Vob开始变得臃肿,而且太大而无法轻松管理(即备份)。
我现在更喜欢在artifact repository like Nexus中存储第三方,并在我的构建过程中添加一个小的maven脚本,以便在正确的版本中下载正确的二进制文件,如pom.xml文件中所声明的那样。 / p>
请注意,要从vob中移除旧版本的二进制文件,rmelem或rmver实际上是不可取的(超链接损坏的风险),但我曾经这样做:
cleartool rmver -data aLargeBinary@/main/.../branch/OldVersion
那将保留 ClearCase中的版本,但会删除版本内容(即大型二进制文件本身):允许Vob变得更小。
话虽如此,我同意您的一般政策(特别是关于冗余代码)