svn 钩子 post-commit 出现255错误解决办法

来源:互联网 发布:皇帝 知乎 编辑:程序博客网 时间:2024/06/15 13:43

首先检查代码中是否有可执行命令 #!/bin/sh

然后 检查post-commit权限

post-commit 脚本文件的权限不对,post-commit 脚本必须有 +x 权限。

 

chown svn:svn post-commit

chmod +x post-commit



为了可以在修改完代码提交到SVN服务器后,WEB服务器直接同步.需要配置SVN的钩子,打开hooks目录,

可以看到有一个post-commit.tmpl文件,这是一个模板文件,

复制一份放在此目录下,命名为post-commit

里面原有的代码全部注释掉.这里可以执行shell命令,每次commit完成后都会调用此文件.

我的文件内容为

#!/bin/sh 
export LANG=zh_CN.GBK
/usr/bin/svn update --username lxy --password 123456 /var/www/myproject

说明:

#!/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格式在提交




0 0
原创粉丝点击