4

我在 ClearCase 商店工作,CC 很好地整合了团队的工作,尽管我们的代码审查流程阻止我使用它来跟踪我的日常更改。在我的 CC 视图之上创建一个 hg 存储库效果非常好。我可以跟踪我的更改并轻松地在文件服务器上进行备份,为人们生成差异等。

这一切都很好,直到我转向新的 CC 视图并且不得不将我的历史抛在脑后。我很想能够?拉?我以前的历史记录,并且新视图中的所有不同之处都显示为最新的更改集。

4

3 回答 3

3

我从来没有使用过 ClearCase,所以我不确定 CC 视图是什么,但是这里有一个适用于供应商丢弃的通用技术:检查上游 (CC) 版本,例如,修订版 0,在hg 分支vendor或任何你想要的。改回默认分支并破解。然后当你想移动到最新的上游版本时,vendor再次签出你的 hg repo,用新的上游替换工作目录,运行hg addremove(可能带有--similarity检测重命名的选项),提交,并与你当前的提示合并,然后切换回默认分支。

于 2009-07-18T00:24:29.143 回答
2

要完成布伦丹的回答,由于每个 ClearCase 视图都将位于它们自己的路径(对于动态视图)或本地目录(对于快照视图),您必须:

  • 移动你的汞回购
  • 在 hg 存储库中签出一个新分支,以隔离新 CC 视图的新配置规范引入的更改(例如,如果您使用的是 UCM,则可以将 CC 流的名称镜像到 hg 分支中)
  • 将 CC 视图与 Mercurial 存储库同步
于 2009-07-18T05:59:24.020 回答
1

我们在 ClearCase 静态视图中使用 Git,原因与您描述的几乎相同 - 更精细的控制。

在 CC 中,当我们开始处理更新的(标记的)版本并且配置规范发生适当的更改时,Git 会将其作为常规变更集进行选择。

之所以如此神奇,是因为 Git 对配置规范一无所知,而 CC 对 .git 目录一无所知。当配置规范更改时,它会重新加载任何已更改的文件,但不会触及 .git 目录,因此 Git 仍然可以看到存储库。

我对 Mercurial 没有任何经验,但我只是启动它并添加了一些目录和文件,它似乎以相同的方式工作。

于 2009-07-19T12:15:03.467 回答