#!/bin/bash
/usr/bin/svn 更新 /home/user/working/copy
上面的代码应该作为一个提交后的钩子。
如果需要,添加 --username 和 --password 选项。
编辑:
看http://subversion.tigris.org/faq.html#website-auto-update
执行提交的服务器程序(svnserve 或 apache)与将运行提交后挂钩脚本的程序相同。这意味着该程序必须具有适当的权限才能更新工作副本。
如果需要更新的“工作副本”由同一用户拥有,那么您无需担心用户名和密码。
Subversion 常见问题解答建议将 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);
}