如何在Clearcase静态视图上最好地设置Mercurial? (设置“结帐”挂钩?)

时间:2010-02-27 19:10:30

标签: mercurial clearcase

我想在clearcase静态视图目录中设置一个mercurial存储库。我的计划是从该目录克隆,在mercurial repo中完成我所有的实际工作,然后将我的更改推回到共享的Hg / Clearcase目录。

我希望听到关于这可能最有效的一般建议,但我预见到一个特定的问题:Clearcase将文件锁定为只读,直到签出为止。我希望它的工作方式是在推送完成之前设置一个mercurial钩子来检查文件,如果结账不起作用则回滚推送。

我应该查看pretxncommit钩子吗?还是拉钩?另外,我也不太清楚如何编写实际的钩子。我知道clearcase命令,但我不知道如何构造钩子来传递变更集中每个文件的文件名。

建议?

1 个答案:

答案 0 :(得分:2)

我刚才回答的问题:How to bridge git to ClearCase?可以让您了解这个过程。

我喜欢将ClearCase结帐/签入步骤与DVCS工作分开:
我会在DVCS仓库中需要解锁文件(在快照视图中直接 ),然后更新快照视图,这将告诉我“被劫持”的文件(我可以很容易结账并通过cleartool更新GUI进行检查。

但是如果您在其他地方克隆了DVCS repo,并将其推回到不是ClearCase快照视图的本地仓库,您可以做的只是复制快照视图的view.dat隐藏文件在DVCS回购的根目录 这个简单的文件足以在ClearCase snashot视图中转换回本地仓库! 然后,您将所有文件设置为只读(除了在特定日期之后修改的文件,即您开始工作的时间),以避免ClearCase将所有文件视为已被劫持。
其余类似于第一种方法:更新,结账/签到。​​