在GIT中替换ClearCase动态视图的最着名方法

时间:2015-04-20 08:00:04

标签: git clearcase clearcase-ucm

我们正在从CleaCase UCM 8.0.1.3迁移到GIT。我们有几个使用动态视图的项目。我想知道,如果有一些最知名的方法和用例在GIT中迁移动态视图的使用。

最简单的项目,只需使用一个动态视图,所有团队就可以写入同一个地方。它只包含文档,他们需要能够立即知道谁在触摸哪个文件。这只是一条流。将其转换为GIT很简单。只需在全局网络路径中创建存储库。还有其他想法吗?

复杂的,如下。可以说我有两个组成部分:Global,Specific。 “特定”一个是每个开发人员的普通快照视图。 “全局”版本位于动态视图中,对其进行任何更改都会使特定版本立即使用Global中所做的更改。

除此之外是权限问题,只允许特定人员在全局组件中进行更改。

此外,还有一种在特定计算机上运行的自动机制,通过从其他第三方应用程序导入,自动更改为全局组件。

最后,对于特定文件夹中的特定人员,快照部分中的每个文件夹也有授权机制。这是另一个问题,我将其作为背景信息添加。

所以,问题是,任何想法如何以最简单的方式管理它?推/拉钩是我们现在正在研究的解决方案。是否有更好的解决方案?

1 个答案:

答案 0 :(得分:1)

  

只需在全局网络路径中创建存储库

这似乎是从ClearCase动态视图提供的共享访问中获益的最直接方式。

  

除此之外是权限问题,只允许特定人员在全局组件中进行更改。

应该由ACL(访问控制层)管理,例如 gitolite

  

" Global"一个驻留在动态视图中,对其进行任何更改都会使Specific一个人立即使用Global中所做的更改。

听起来像是:

  • Global应声明为Specific
  • 的子模块
  • 子模块应配置为follow a branch

这样,任何git submodule update --remote都会更新Global是任何新的提交被推送。

如果您的repo托管服务提供webhooks(like gitHub does),那么每个客户端都可以拥有一个push事件的监听器,并触发子模块更新。
即使私有托管服务没有webhook,您也可以实现一个带有post-receive挂钩(generating the JSON payload发送给已注册的监听器客户端)。