SVNhooks相关.doc

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SVNhooks相关

Xxx项目 Xxx设计说明 任何人如有修改本文档,请填写版本修改历史!!!! 版本修订历史 版本 日期 修改人 修改说明 修改原因 01.00 2008-08-04 xxx 第一版 Xxx SVN仓库与测试环境代码同步脚本先看一下转载的文章: 来自:/deepwishly/archive/2010/03/10/5366757.aspx ?使用?hook?,为了方便管理员 控制提交的过程?Subversion?提供了?hook?机制。当特定的 事件发生时,相应的?hook?会被调用,?hook?其实就相当于特定 事件的处理函数。每个?hook?会得到与它所处理的事件相关的参数,根据?hook?的 返回值,?Subversion?会决定是否继续当前的提交过程。 当前?Subversion?提 供了?5?种可以安装的?hook?: 事 件名 时 机 与?hook?交 互 一 般用途 start-commit 事务创建之前。 传给?hook?的 参数: -?????????参 数?1?, 代码库路径。 -?????????参 数?2?, 试图提交的用户名。 hook?的返回值:非?0?则 终止。 判断用户是否有权限进行提交 操作。 pre-commit 事务完成,但未提交。 -?????????参 数?1?, 代码库路径。 -?????????参 数?2?, 事务名。 hook?的返回值:非?0?则 终止提交,操作回滚。 对提交内容进行检查。如要求 提交必须填写提交信息。 post-commit 事务提交完毕,新的修订版被 创建。 传给?hook?的 参数: -?????????参 数?1?, 代码库路径。 -?????????参 数?2?, 刚创建的修订版号。 hook?的返回值被忽 略。 发送邮件通知,或备份代码 库。 pre-revprop-change 修改修订版属性(如提交时提 供的信息?message?)之前。 由于修订版属性一旦修改就会 永久的丢失,除非安装这个事件的?hook?,?subversion?的 客户端不允许远程修改修订版属性。 传给?hook?的 参数: -?????????参 数?1?, 代码库路径。 -?????????参 数?2?, 要修改的修订版号。 -?????????参 数?3?, 操作用户名。 -?????????要 修改的属性。 hook?的返回值:非?0?则 终止。 保存修订版属性的改变记录。 post-revprop-change 修订版属性值被修改之后。 如果没有安装?pre-revprop-change?的?hook?, 这个事件的?hook?不会被执行。 传给?hook?的 参数: -?????????参 数?1?, 代码库路径。 -?????????参 数?2?, 要修改的修订版号。 -?????????参 数?3?, 操作用户名。 -?????????要 修改的属性。 hook?的返回值被忽 略。 发送邮件通知。 hook?只有安装之后才 会被执行,在?Subversion?中这一过程相当简单。只需将?hook?放 在代码库目录的?hooks?子目录下即可。为了能顺利地找到它们,?Subversion?规 定?hook?的 命名与上表的事件名同名,如?pre-commit?的?hook?名就是?pre-commit?(请 确保它是可执行的,在?windows?平台下需要添加对应的扩展名,如?bat?、?exe?、?com?。)。 创建代码库之后,?Subversion?会创建对应的这?5?个事件的?hook?模 版。选取所需的模版,然后将其改名,在修改内容。这样hook?就可以工作了,当 然请先确保?hook?本身能正常的执行。 hook?的编写非常简 单,通常的做法: -?????????法?1?: 使用所在平台的脚本语言,如?unix?下的?shell?,或?windows/dos?的 批处理命令。 -?????????法?2?: 使用相关的语言,如?c?。 -?????????法?3?: 使用脚本语言,如?python?或?perl?等实现主体。然后 通过法?1?来调用。 -?????????法?4?: 使用相关的语言实现主体,然后通过法?1?来调用。 这里给出在?windows?下 使用?bat?的例子,它实现了?pre-commit hook?主 要作用是检查提交内容中是否包含说明信息,如果没有就放弃: set REPOS=%1 set TXN=%2 set SVNLOOK=D:\Prog

文档评论(0)

xy88118 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档