首先:我不是一个有经验的 ClearCase 用户,但我对其他 VCS 和 *nix 命令行工具有很多经验。对于 ClearCase,我使用在 Unix shell 中工作的命令行工具(“cleartool”)。
问题:我在 ClearCase 中存储了一小组源。偶尔会出现具有相同源的新 .tgz,我必须更新存储库中的源(无法更改流程,以便其他方将使用 ClearCase)。
现在我执行以下操作:
- 将 tgz 提取到,比如说,“~/new_src”
- “ct setview ...”和 cd 到源所在的位置(例如,“/vobs/src”)
- 我将源与“diff -Naurb .~/new_src”进行比较,检查 diff 的输出并:
- 将新文件复制到 /vobs/src 并对其执行“cleartool mkelem”
- 签出更改的文件,复制新的源并提交它们
- 为新目录执行“cleartool mkdir”并填充它们
这个过程慢慢让我发疯,因为在几乎任何其他版本控制系统中,我都会检查源代码,复制新源代码,检查差异,添加新文件,然后提交全部内容。或者,更好的是,使用标签/分支,尽管在这种情况下确实不需要它们 - 我需要在 repo 中有一个最新版本的源代码,仅此而已。
我尝试检查所有内容(使用“cleartool co -nc find .
”),复制新源,然后提交更改的文件/添加新文件。但这需要解析“cleartool ls”输出,而且更加混乱。
我可能会错过一些明显的东西,但对谷歌的几次尝试告诉我我没有。但是,我想听听 ClearCase 高级用户的意见 - 像我这样的无知者有希望吗?:)