Chinaunix首页 | 论坛 | 博客
  • 博客访问: 104606610
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: C/C++

2008-04-17 20:38:37

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

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

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

  REPOS=""

  REV=""

  /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之前,这些脚本能够做某些检查,比如,各种预提交检查脚本。
阅读(238) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~