如何使用ClearCase跟踪第三方来源而不会头疼?

时间:2008-10-05 19:37:00

标签: version-control clearcase

首先:我不是一位经验丰富的ClearCase用户,但我对其他VCS和* nix命令行工具有很多经验。使用ClearCase,我使用在Unix shell中工作的命令行工具(“cleartool”)。

问题:我在ClearCase中存储了一小组源。偶尔会有一个带有相同源代码的新鲜.tgz,我必须更新存储库中的源代码(进程无法更改,以便其他方使用ClearCase)。

现在我执行以下操作:

  1. 将tgz提取到“〜/ new_src”
  2. “ct setview ...”和cd到源位置(比如“/ vobs / src”)
  3. 我将源代码与“diff -Naurb .~ / new_src”进行比较,检查diff的输出和:
    1. 将新文件复制到/ vobs / src并在其上执行“cleartool mkelem”
    2. 结帐更改的文件,复制新来源并提交
    3. 为新dirs做“cleartool mkdir”并填充它们
  4. 这个过程正在慢慢让我发疯,因为在几乎任何其他版本控制系统中我都会检查源代码,复制新的源代码,检查差异,添加新文件然后提交整个批次。或者,更好的是,使用标签/分支,虽然在这种情况下确实不需要它们 - 我需要在repo中拥有最新版本的源代码,这就是全部。

    我尝试检查所有内容(使用“cleartool co -nc find .”),复制新的源代码,然后提交更改的文件/添加新文件。但这需要解析“cleartool ls”输出,甚至更加混乱。

    我可能会错过一些明显的东西,但谷歌的一些尝试告诉我,我不是。但是,我想从ClearCase的powerusers那里听到它 - 有没有希望像我这样无能为力? :)

3 个答案:

答案 0 :(得分:2)

我只想确定:

您确实知道 clearfsimport ,对吧?

因为在阅读(可能太快)你的问题之后,那个命令可能就是你所追求的......

这就是我的想法...如果您需要更多详细信息,请对此答案发表评论。我会监视那些。

答案 1 :(得分:1)

我将一堆Perl模块存储在clearcase中。但我只是检查tar.gz文件,并有一个脚本去提取&作为构建过程的一部分安装它们(到构建树中)。

我可能也倾向于与其他语言相同的想法 - 只需在make文件中有一步,在构建的其余部分继续之前提取tarball。使替换新版本变得非常容易。

答案 2 :(得分:0)

如果您使用ClearCase UCM,那么还有另一种处理第三方存储库的方法 - 使用组件(读写或通常只读)。

BR, Tamir Gefen CM和ALM顾问 我的博客:http://almmmm.wordpress.com