perforce提供了2中机制来让用户自定义或增强perforce的功能:trigger 和 daemon 。
一 triggers
triggers 是用户定义的script,但是在某些特定的条件下由p4server自动调用来执行一定的功能。如果script返回0,表示成功,p4server的其他功能继续执行;如果script返回非0值,表示script执行失败,script的output将被作为error message返回为客户端。
常见的trigger的作用:集成LDAP或AD用户认证方式,锁定branch,规范提交时的changelist的描述,跟新bug或task管理系统等。
1)trigger表
p4server使用trigger表来管理所有的trigger,可以使用命令p4 trigger查看所有的trigger,例如:
Triggers:
relnotecheck change-submit //depot/bld/... "/usr/bin/rcheck.pl %user%"
verify_jobs change-submit //depot/... "/usr/bin/job.py %change%"
trigger表有多行组成,每一行表示一个trigger的信息。每一个trigger都包含多列,分别表示:
name : trigger的名字,一般直观地我们在trigger的名字中包含作用信息;
type : trigger的类型,可以分为以下6个类型,changelist submission triggers, shelve tr