1

首先:我不是一个有经验的 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. 为新目录执行“cleartool mkdir”并填充它们

这个过程慢慢让我发疯,因为在几乎任何其他版本控制系统中,我都会检查源代码,复制新源代码,检查差异,添加新文件,然后提交全部内容。或者,更好的是,使用标签/分支,尽管在这种情况下确实不需要它们 - 我需要在 repo 中有一个最新版本的源代码,仅此而已。

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

我可能会错过一些明显的东西,但对谷歌的几次尝试告诉我我没有。但是,我想听听 ClearCase 高级用户的意见 - 像我这样的无知者有希望吗?:)

4

3 回答 3

2

我只想确定:

你知道clearfsimport,对吧?

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

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

于 2008-10-05T20:01:39.587 回答
1

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

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

于 2008-10-05T20:48:37.323 回答
0

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

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

于 2008-11-14T12:23:41.727 回答