Python 和 ClearCase setview

use*_*345 3 python clearcase

我想从 python 脚本设置为 Clearcase 视图,然后在该视图中执行命令。我尝试过使用此处概述的各种方法:

子流程

但我还没有取得任何成功。有谁知道如何做到这一点?

Von*_*onC 5

我不建议设置视图,因为setview它本身会产生一个新进程。我真的更喜欢在启动视图
使用( )/view/viewTag/aVob/...cleartool startview viewTag

在我看来,“生成过程”问题使所有事情变得过于复杂,并解释了为什么你有这样的技术说明:

执行后出现的任何命令都cleartool setview cmview不会被处理,因为 shell 是用 生成的exec(),它会用新程序替换当前程序。

这意味着当前进程的文本和代码段(在本例中是包含所有命令的脚本)将被正在执行的程序(即通过运行调用的 shell)替换cleartool setview cmview
因此,没有任何命令会在setview.

-exec变量将启动一个子shell进程并在指定的动态视图中调用指定的命令。命令完成后,控制权将返回到父 shell。
不会-exec在父 shell 进程中设置视图
生成的子-execshell 将继承父 shell 进程的环境变量;但是,在子 shell 中创建的环境变量不会传递回父 shell。

所以如果你真的想使用setview,你可以(我自己没有直接测试):

  • 有一个 python 脚本调用setview
  • 但该setview调用将使用另一个 python 脚本作为参数(当配置了所述设置视图的内容-exec时,执行您想要执行的操作。/vobs