科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件如何在Subversion中运行hook脚本

如何在Subversion中运行hook脚本

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

Subversion是一个强大的版本控制系统,特别是它能够轻松地处理库管理进程中在各个点上的数据。

作者:builder.com.cn 2007年1月12日

关键字: Subversion HOOK Linux

  • 评论
  • 分享微博
  • 分享邮件

Subversion是一个强大的版本控制系统,特别是它能够轻松地处理库管理进程中在各个点上的数据。在进行提交后、或者进行提交前,或锁定、或解锁文件中,或者在其它情况下,你都能拥有脚本句柄数据。所有的这些都是通过hook实现的,hook是subversion库结构中的一部分。Hook由一个库事件来触发的。例如,如果你有一个subversion库存放在/subversion/repos/packages下,那么你的hook将被存放在/subversion/repos/packages/hooks目录下。

在这个hook目录下存放着大量的临时文件。这些文件只是作为例子来存在。所以如果你想写一个脚本能在每次提交后,把subversion数据用e-mail发送给你的话,你应该拷贝post-commit.tmpl到post-commit中,把它变为可执行的,并按照你的需要去编辑它。

这些脚本能从subversion网站上获得,同时也有些其它用户提供的脚本和工具。你能在http://subversion.tigris.org/tools_contrib.html上浏览到许多这样的脚本。目前最感兴趣的是邮件提交的(post-commit e-mail)脚本commit-email.pl。把这个文件下载下来,并把它放在/usr/local/bin/下面,然后使它变成可执行的。同时在hooks/post-commit脚本中,在该文件末尾增加上以下内容:

REPOS="$1"

REV="$2"

/usr/local/bin/commit-email.pl "$REPOS" "$REV" --from svn@myhost.com -s \

"SVN commit in packages" joe@myhost.com

这个将执行的commit-e-mail.pl脚本会带有一些参数,也就是库名和你做的修订。它将按照指定的主题路线从svn@myhost.com网站上发送e-mail到joe@myhost.com上,joe@myhost.com网站上有些指定的用户或者邮件列表。

如果你想在站点上查看其它的脚本,你可以在版本控制软件库的管理器中看到许多有趣的脚本。在整个数据被提交到subversion之前,这些脚本能够做某些检查,比如,各种预提交检查脚本。

责任编辑:德东

查看本文国际来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章