Mac下安装Subversion版本库,从客户端修改日志(svn:log)的问题解决方法
一.问题现象:
SVN版本库安装在Mac下的/usr/local/svn/rep下,从Windows系统中使用TortoiseSVN修改日志时提示“Repository has not been enabled to accept revision propchanges;ask the administrator to create a prop-revprop-change hook”。
二.解决步骤:
1.打开Mac的Terminal终端
2.$ sudo su,然后输入root用户的密码。
3.sh-3.2# cd /usr/local/svn/rep/hooks
4.sh-3.2# cp pre-revprop-change.tmpl pre-revprop-change。从钩子模板拷贝生成一个钩子文件。按TortoiseSVN的错误提示,到这步后,应该可以正常提交,可尝试再次修改日志并提交,却出现“Revprop change blocked by prop-revprop-change hook (exit code 255) with no output”的提示,在经过 chmod a+x pre-revprop-change等执行权限的设置及文件权限的分配反复试验后,始终是错误提示,把我这Mac下的UNIX新手折腾够呛。经过大量资料的查阅,最终发现原来是此脚本文件文件格式不对。于是通过下面的步骤终于解决此问题。汗.....
5.检测pre-revprop-change是否在手工状态下正常运行。输入命令:sh-3.2# . pre-revprop-change,结果提示“h: pre-revprop-change: line 67: syntax error: unexpected end of file”,该脚本未能在命令行状态下手工正确执行,问题出在文件本身上了,看来。另:
感谢SVNBook的帮助,多谢你们高质量的翻译水平。
6.同样,用脚本调试也是同样的报告:sh-3.2# sh -x pre-revprop-change par
7.修改脚本文件格式:sh-3.2# vi pre-revprop-change。感谢futureinhands的提醒
。
8.在VI中如下输入
?:set fileformat=unix
:w
:q ,然后回车
9.再次尝试sh -x pre-revprop-change par,此时,应该输出“+ echo 'Changing revision properties other than svn:log is prohibited'
Changing revision properties other than svn:log is prohibited
+ exit 1”
10.OK,再次从Winodws用TortoiseSVN修改日志后,提交保存到SVN版本库中成功。
=================================================
希望对有同样遭遇的朋友有用。