我有一种情况,我正在考虑使用subversion / svn作为项目的存储库/版本控制系统。我试图找出是否有可能,(如果是这样,如何)能够拥有subversion系统,在post commit hook / process上将用户/文件/时间(也许是msg)写入外部文件(csv)或mysql数据库。
一旦我弄清楚如何调用post commit钩子将输出写入文件,我就可以修改我的问题跟踪器/项目应用程序,然后根据用户角色实现基本的工作流程过程,以及存储库文件的成功/失败。
简短的样本/指针会有所帮助。
我的测试环境,在centos5上运行subversion / svnserve。使用的脚本语言是Php / Python。
答案 0 :(得分:0)
确实很可能,在您的存储库根目录中应该有一个名为hooks的文件夹,其中应该是一个名为post-commit的文件(如果没有,创建一个),添加你放在那里的任何bash代码,它将执行每次提交后。
注意,有两个传递给脚本的变量$ 1是存储库,$ 2是版本号(我认为),你可以使用这两个变量执行一些svn命令/查询,并拉出所需的数据,并随心所欲地做它。
答案 1 :(得分:0)
我想说这是可能的,但是您需要一些工作来检索用户名,日期和提交消息。
Subversion使用repo路径和刚刚作为参数提交的修订版本数来调用post-commit钩子。
为了检索您正在寻找的信息,您需要使用名称为svnlook
的可执行文件,该文件与Subversion捆绑在一起。
请参阅repo \ hooks \ post-commit.tmpl以获得有关如何使用它的明确说明
另外,看看svnlook help
,使用它并不困难。