我们是clearcase UCM的典型实现:
我有2个UCM项目,每个项目代表我们的发布。 proj2是从proj1
的稳定基线创建的proj1和proj2并行工作,有时两者中的相同元素同时发生变化。所以文件a.java位于两个项目中,并且正在由开发人员处理。每周合并活动发生在下游从上游项目中获取最新项目并且合并得到协调。这是我的轻松生活。
作为重组代码的一部分,拥有proj2的团队已经开始将元素(主要是文件)移动到其他地方。当我说其他地方时,这可能意味着在组件内或不同的组件VOB。这从未发生过。
实际问题:
当项目间合并发生时,元素a.java的目标分支版本可能已移动到其他位置/文件夹。如何确保clearcase仍然将其与来自上游项目的版本合并。是否使用cleartool move
命令足以让clearcase知道并合并到正确的位置?对于VOB间的移动,cleartool relocate
命令会为我做同样的事情。我处于一个严格控制的环境中,否则我会自己创建一个沙箱并进行测试。
我正在银行@VonC或@Tamir:)
答案 0 :(得分:1)
当我说其他地方时,这可能意味着在组件内或不同的组件VOB
请注意,使用UCM时,如果没有重新创建完整的元素(新历史记录),则无法将元素移动到其他组件。
- 对于inter-vob组件重构:
我宁愿镜像proj1中的重构(在一个特殊的Stream中),然后尝试从该流中进行项目间合并,而不是希望从旧目录结构到新的重构目录结构的合并顺利进行。 / p>
在这种情况下,手动合并更安全。