SVN同步错误 post-commit hook failed (exit code 255) with no output.

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SVN同步错误 post-commit hook failed (exit code 255) with no output.相关的知识,希望对你有一定的参考价值。

post-commit的权限是777,下面是内容:
#!/bin/sh
#设定环境变量,如果没有设定可能会出现update报错
export LANG=zh_CN.UTF-8
#设定语言,根据系统语言设置,如果是UTF-8 就设置为 LANG=zh_CN.UTF-8
SVN_PATH=/usr/bin/svn
WEB_PATH=/www/web/project

#默认无需输入账号密码

#USERNAME=test

#PASSWORD=123456

$SVN_PATH update $WEB_PATH --username 'test' --password '123456' || exit 1

exit 0

参考技术A #!/bin/sh 说明是执行shell命令
export LANG=zh_CN.GBK 是为了解决svn post commit 中文乱码,设置本地化编码,因为我的系统为GBK编码,SVN默认是UTF-8编码,如果不设置将会出现错误,而执行不成功,错误标识为svn: Can't convert string from native encoding to 'UTF-8'
/usr/bin/svn update --username lxy --password 123456 /var/www/myproject 执行更新操作
如果提示:post-commit hook failed (exit code 255) with no output赋予post-commit文件可执行权限
如果您的默认编码就是UTF-8的,要上传中文文件,先将文件另存为UTF-8格式在提交
参考技术B 去微信找“勾答”问问看,上面有不少腾讯、阿里、百度的牛人

svn 的hooks 问题再说一下:我在服务器Repositories 的项目的hooks 下面写 的 post-commit.bat

在cmd里测试可以正常更新运行。我在我本机checkout 项目后,修改文件然后 commit 。就报图片所示错误。
post-commit.bat 的内容是 :
@echo off
SET REPOS=%1
SET USER=%2
SET SVN="C:\Program Files\VisualSVN Server\bin\svn.exe"
SET DIR="D:\projects\develop\jlyt\orion2.0.8"
(call %SVN% update %DIR% --username ycb --password ycb --non-interactive)

将整个脚本改成这一行指令看看效果如何:
C:\Progra~1\VisualSVN Server\bin\svn.exe update D:\projects\develop\jlyt\orion2.0.8 --username ycb --password ycb --non-interactive
参考技术A 楼主解决了吗?同问我这里也出现了,有时候会出现报错,有时候又是正常的。 参考技术B 将整个脚本改成这一行指令看看追问

我改成一行了。还是报上边那个图的错误。

以上是关于SVN同步错误 post-commit hook failed (exit code 255) with no output.的主要内容,如果未能解决你的问题,请参考以下文章

svn自动同步配置

svn 的hooks 问题再说一下:我在服务器Repositories 的项目的hooks 下面写 的 post-commit.bat

svn采用hooks钩子自动同步代码

svn hooks使用

svn hooks post-commit钩子自动部署

SVN post-commit hook:根据提交所属的项目更新工作副本