【发布时间】:2015-03-30 12:17:15
【问题描述】:
我有一个 Centos 7 虚拟机(VirtualBox 来宾)作为我的 svn 服务器,已经配置了 svn -- mod_dav_svn 并且一切正常:可以签出和提交。问题是当添加预提交钩子然后尝试从 Windows 机器(VirtualBox 主机)提交时,TortoiseSVN 失败并出现此错误
提交被预提交挂钩(退出代码 255)阻止,没有输出。
从我得到的 httpd 日志中
[client xx.xx.xx.xxx:57] 无法将资源“/svn/testrepo/!svn/txn/5-2f”合并到“/svn/testrepo/trunk”中。 [500, #0]
所有权限都设置正确,我什至尝试了777,除非我删除钩子,否则它不起作用。
这是我在设置时遵循的参考: http://www.unixmen.com/install-subversion-centos-7/
我想知道我的 10-subversion.conf 文件中是否缺少某些内容...
我正在使用默认的预提交,它已经被设置为可执行并且所有者是 apache 用户。我做的另一个测试是删除预提交脚本中的所有代码,只留下“exit 0”指令。
这就是我的 10-subversion.conf 文件的样子:
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
LoadModule dontdothat_module modules/mod_dontdothat.so
<Location /svn>
DAV svn
SVNParentPath /var/www/svn
AuthType Basic
AuthName "Subversion repositories"
AuthUserFile /etc/svn-auth-users
Require valid-user
</Location>
CustomLog logs/svn_logfile "%t %u %{SVN-ACTION}e" env=SVN-ACTION
【问题讨论】:
-
你至少应该添加钩子脚本的代码(以及它应该做什么......)。
-
这只是默认的预提交...它检查是否有 cmets 以及用户是否可以提交,我还尝试删除除“exit 0”行之外的所有代码。
标签: svn pre-commit