首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 软件时空 > 软件相关 > ClearCase Trigger指南(4)-Trigger可以做什么
【标  题】:ClearCase Trigger指南(4)-Trigger可以做什么
【关键字】:ClearCase,Trigger,-Trigger
【来  源】:http://blog.csdn.net/battle_cry/archive/2006/07/20/945817.aspx

ClearCase Trigger指南(4)-Trigger可以做什么


声明:本文欢迎非商业用途转载,如果象某些网站对用户收费则谢绝转载,如若转载,请标明转载,原作者与出处,不要象我以前的一些文章,有人直接当做自己写的发表去赚稿费了

Trigger可以做什么?

所有的刚接触ClearCase的用户一般都认为Trigger是执行一个程序,实际并不是如此,这里我们给出一个例子,Trigger也可以执行一些ClearCase操作,如mklabelmkattr等:

cleartool mktrtype -element -postop checkin –mklabel Release$Rel_num \ -c "Check in Make Label" Checkin_mklabel

这个Trigger的作用是当Checkin操作之后,Element有新的版本产生时,打上label。需要注意,在环境变更中要有Rel_num的值,如果Rel_num11,则在VOB中已定义了Label typeRelease11,否则不会打上label

Cleartool mktrtype的参数中有一组是定义Trigger的动作的:

1.        –exec command 执行指定的命令,如果命令是带参数的,则要将整个命令用单引号括起来,在这里定义的命令在所有的操作系统平台都有效,为了避免出现由于操作系统不兼容而造成Trigger失败,建议应用-exec command定义的命令中只使用ClearCase提供的命令与cleartool的子命令,不要使用UNIX的命令或Windows的命令,如lsdir等;如果想要自己写一些应用脚本,则要保证在WindowsUNIX平台都可以执行。

2.        –execunix command  这里定义的命令只能在UNIX系统下有效,除了ClearCase的命令与子命令外,建议使用Shell脚本或Perl脚本。

3.        –execwin command 应用execwin 定义的操作只在Windows系统下有效,除了ClearCase的命令与子命令外,建议使用Perl脚本或VB脚本;在这里有一点要特别提醒注意的,如果在命令或脚本中应用了Windows的内置命令如dircd等,则要应用cmd /c,如下所示:

Cleartool mktrtype –element –postop checkin –execwin “cmd /c  copy %CLEARCASE_PN% \\Bakckup\.” -nc

4.        –mklabel label 给当前的elementtype等打上label,但是要求label必须已经定义了,所以建议在之前可以预定义一些label

5.        –mkattr attribute 给当前的elementstreamcomponent关联相应的attribute并赋值。

6.        mkhlink hlink 在引起Trigger操作相对应的element上执行mkhlink操作,可以应用tofrom选项选择link的方向。

在第二节中讨论Trigger的优缺点时提到了针对同一个elementucmobjecttype操作可以定义多个trigger,一般情况下你可以看一下这个element的属性,在Windows环境下Trigger会按在属性中的顺序执行,但是在ClearCase文档提到不能保证执行顺序,所以尽量避免在一个element的同一操作的同一类型上关联多个Trigger。一般建议如果需要处理则将所有的Trigger并到一个Trigger中。

在以上的六项操作是非互斥的,但是需要注意mklabelmkattrmkhlink只支持事前触发类型的Trigger,即只有-postopTrigger可以执行这几项操作。

最后有一个小技巧,当只定义了-execunix-execwin时,如果当前的操作系统不是UNIXWindows则默认为Trigger 失败,所以可以通过对checkincheckout等操作设定只执行UNIXWindows命令的Trigger来限制开发人员的开发平台,这样可以防止开发人员在不同开发平台的编译错误问题。

在创建完Trigger type后,一般需要执行cleartool mktrigger来进行关联。

 
论坛设计之我见:【上一篇】
面向对象设计(OOD)中的替换原则:【下一篇】
【相关文章】
  • ClearCase迁移中的一些经验
  • ClearCase的Web客户端使用指南
  • trigger & procedure
  • [Flash教程]ClearCase教程--开发人员加入ClearCase项目
  • clearcase在Windows下建分支步骤
  • ClearCase VOB 的结构和相关问题的诊断与修复
  • ClearCase VOBs
  • ClearCase Views
  • 这个clearcase啊!
  • clearcase的license的相关问题
  • 【随机文章】
  • 光传输网的不同智能演进
  • 利用Dephi5编写控制面板程序
  • 你真的懂我吗?(谈谈C#接口)之一
  • 推荐给大家一个很有趣的话题: Javaeye上的"奇技淫巧"
  • 揭发三个清华教授的抄袭行为-严蔚敏 周明德 吴伟民
  • cvsnt权限设置
  • php 实现的基本数据结构
  • 关于 Iterators
  • 地图投影
  • Grub on FreeBSD
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.