dodorun 2009-08-24
一.问题现象:
SVN版本库安装在Mac下的/usr/local/svn/rep下,从Windows系统中使用TortoiseSVN修改日志时提示“Repositoryhasnotbeenenabledtoacceptrevisionpropchanges;asktheadministratortocreateaprop-revprop-changehook”。
二.解决步骤:
1.打开Mac的Terminal终端
2.$sudosu,然后输入root用户的密码。
3.sh-3.2#cd/usr/local/svn/rep/hooks
4.sh-3.2#cppre-revprop-change.tmplpre-revprop-change。从钩子模板拷贝生成一个钩子文件。按TortoiseSVN的错误提示,到这步后,应该可以正常提交,可尝试再次修改日志并提交,却出现“Revpropchangeblockedbyprop-revprop-changehook(exitcode255)withnooutput”的提示,在经过chmoda+xpre-revprop-change等执行权限的设置及文件权限的分配反复试验后,始终是错误提示,把我这Mac下的UNIX新手折腾够呛。经过大量资料的查阅,最终发现原来是此脚本文件文件格式不对。于是通过下面的步骤终于解决此问题。汗.....
5.检测pre-revprop-change是否在手工状态下正常运行。输入命令:sh-3.2#.pre-revprop-change,结果提示“h:pre-revprop-change:line67:syntaxerror:unexpectedendoffile”,该脚本未能在命令行状态下手工正确执行,问题出在文件本身上了,看来。另:
感谢SVNBook的帮助,多谢你们高质量的翻译水平。
6.同样,用脚本调试也是同样的报告:sh-3.2#sh-xpre-revprop-changepar
7.修改脚本文件格式:sh-3.2#vipre-revprop-change。感谢futureinhands的提醒
。
8.在VI中如下输入
:setfileformat=unix
:w
:q,然后回车
9.再次尝试sh-xpre-revprop-changepar,此时,应该输出“+echo'Changingrevisionpropertiesotherthansvn:logisprohibited'
Changingrevisionpropertiesotherthansvn:logisprohibited
+exit1”
10.OK,再次从Winodws用TortoiseSVN修改日志后,提交保存到SVN版本库中成功。
=================================================
希望对有同样遭遇的朋友有用。
pub_svnserve.conf的 pub_authz.conf的配置文件有非法字符的原因引起,需要查找pub_authz.conf提的非法内容比如多余的空格删除或直接将pub_authz.conf