subversion post commit hooks

时间:2011-01-15 20:14:47

标签: php python svn hook svn-hooks

我有一种情况,我正在考虑使用subversion / svn作为项目的存储库/版本控制系统。我试图找出是否有可能,(如果是这样,如何)能够拥有subversion系统,在post commit hook / process上将用户/文件/时间(也许是msg)写入外部文件(csv)或mysql数据库。

一旦我弄清楚如何调用post commit钩子将输出写入文件,我就可以修改我的问题跟踪器/项目应用程序,然后根据用户角色实现基本的工作流程过程,以及存储库文件的成功/失败。

简短的样本/指针会有所帮助。

我的测试环境,在centos5上运行subversion / svnserve。使用的脚本语言是Php / Python。

2 个答案:

答案 0 :(得分:0)

确实很可能,在您的存储库根目录中应该有一个名为hooks的文件夹,其中应该是一个名为post-commit的文件(如果没有,创建一个),添加你放在那里的任何bash代码,它将执行每次提交后。

注意,有两个传递给脚本的变量$ 1是存储库,$ 2是版本号(我认为),你可以使用这两个变量执行一些svn命令/查询,并拉出所需的数据,并随心所欲地做它。

答案 1 :(得分:0)

我想说这是可能的,但是您需要一些工作来检索用户名,日期和提交消息。

Subversion使用repo路径和刚刚作为参数提交的修订版本数来调用post-commit钩子。

为了检索您正在寻找的信息,您需要使用名称为svnlook的可执行文件,该文件与Subversion捆绑在一起。

请参阅repo \ hooks \ post-commit.tmpl以获得有关如何使用它的明确说明

另外,看看svnlook help,使用它并不困难。