我有一个 post-commit 挂钩,可以 cd 到我的网站目录并运行 svn update。对于我的服务器管理员,它可以正常工作。对于其他用户,提交有效并且钩子执行,但更新将“Skipped '.'”返回到日志文件。
以下是我能想到的尽可能多的相关信息:
- 这是 Media Temple 网格服务器 (gs) 上的 Linux 环境
- 存储库设置在 /home/XXXXX/data/svn/reponame
- 工作副本已检出到 /home/XXXXX/domains/mydomain.com/projectname
- serveradmin 和 otheruser 都属于同一个组(我们称之为用户组)
- 所有涉及的文件都拥有 serveradmin.usergroup 的所有权
- 所有工作副本文件(包括 .svn 文件)对用户和组都具有 rwx 权限
- hooks 目录中的所有文件对用户和组都具有 rwx 组权限
- 每个用户通过 svn+ssh 签出 repo,并且我验证了提交钩子正在以执行提交的用户身份执行(不是 apache 或 svnserve)