Gab*_*mon 2 svn hook post-commit
我正在尝试实现一个post-commit钩子来更新工作副本.据我所知,post commit hook正在运行(我在文件中写了一些东西来验证它)但是没有运行update命令.
起初我做到了
cd /home/user/working/copy
svn update
Run Code Online (Sandbox Code Playgroud)
但那不起作用,那么我读到你必须给出svn的完整路径:
cd /home/user/working/copy
/usr/bin/svn update
Run Code Online (Sandbox Code Playgroud)
但它仍然没有奏效.
我将permisions更改为777,并在一个空的环境中运行脚本......它的工作原理.
#!/bin/bash /usr/bin/svn update /home/user/working/copy
上面的代码应该作为post-commit钩子.
如果需要,添加--username和--password选项.
编辑:
看到 http://subversion.tigris.org/faq.html#website-auto-update
执行提交的服务器程序(svnserve或apache)与将运行提交后挂钩脚本的程序相同.这意味着该程序必须具有更新工作副本的适当权限.
如果需要更新的"工作副本"归同一用户所有,那么您无需担心用户名和密码.
Subversion FAQ建议使用Setuid和以下C程序.
#include <stddef.h>
#include <stdlib.h>
#include <unistd.h>
int main(void)
{
execl("/usr/local/bin/svn", "svn", "update", "/home/joe/public_html/",
(const char *) NULL);
return(EXIT_FAILURE);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13357 次 |
| 最近记录: |