2

在我的商店签入代码涉及复杂的舞蹈,最后是从 ClearCase 签入的触发器内部回答几个提示。

我想修改触发器以获取命令行参数。这可能吗?

如果做不到这一点,我希望能够调整 STDIN 以便提示得到回答。我试过使用 HERE 文件,但第二个提示是无限重复的。我正在用 perl 编写我的脚本。有任何想法吗?

4

1 回答 1

1

触发器的修改需要使用cleartool mktrtype

您可以访问环境变量和参数,具体取决于您的触发器适用的对象类型。

但是您将无法访问任何命令行参数。


如果做不到这一点,我希望能够调整 STDIN 以便提示得到回答

签出clearprompt

clearprompt命令提示用户输入,然后将输入存储在文件中或返回适当的退出状态。
clearprompt设计用于触发动作和 GUI 脚本

在 UNIX 和 Linux 系统上,clearprompt可以通过stdinand stderr(CLI 模式)或通过弹出窗口(GUI 模式)与用户交互。

例如:

创建一个全元素触发器类型,在创建类型元素时提示输入算法的来源c_source
触发触发器会执行一个名为 的脚本hlink_algorithm,该脚本会调用clearprompt实用程序来获取必要的信息。
然后,该脚本会在新创建的元素对象(例如foo.c@@)和指定文本之间创建一个纯文本超链接。
该脚本在命令hlink_algorithm之后立即显示。mktrtype

cmd-context mktrtype -element -all -nc -postop mkelem -eltype c_source \
-exec /net/neon/scripts/hlink_algorithm describe_algorithm
Created trigger type "describe_algorithm".

hlink_algorithm脚本:

clearprompt text -outfile /usr/tmp/alg.$CLEARCASE_PPID \
-multi_line  
-def "Internal Design" -prompt "Algorithm Source Document:" 

TOTEXT=‘cat /usr/tmp/alg.$CLEARCASE_PPID‘
cleartool mkhlink -ttext "$TOTEXT" design_spec 
 $CLEARCASE_PN$CLEARCASE_XN_SFX 

rm /usr/tmp/alg.$CLEARCASE_PPID
于 2012-11-15T19:15:18.057 回答