linux svn post-commit 更新 我的svn post-commit 当ide提交时候可以执行,但是svn update 却没成功

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux svn post-commit 更新 我的svn post-commit 当ide提交时候可以执行,但是svn update 却没成功相关的知识,希望对你有一定的参考价值。

登录服务器手动执行post-commit

执行ide提交

post-commit 内容

请注意 最上2张图cat log的输出
ide update 的输出是空的,而手动 ./post-commit 执行可以输出 “版本号”

通过2种操作都可以输出生成 log文件,说明post-commit都是可执行。
相比ide提交时svn update 命令输出空,可能是未执行成功,也没有报出错误。
我已经checkout多次了。
svn目录,与项目目录都是 nobody
我写错了,我ide 是 commit;

post-commit这个脚本是在commit成功后被触发执行的,而不是在update后触发执行的,所以你ide update肯定不会有输出了 参考技术A 执行这个命令看看信息:
env – ./post-commit
我遇到了同样的问题,执行上边这条命令提示我有目录下的中文文件问题,去掉那个目录后就可以自动svn了。
另外,中文文件的问题也得解决,将conf/authz文件用软件更改文件编码为UTF8,就可以了。

svn hooks post-commit钩子自动部署

#!/bin/sh
#修改为服务编码
export LANG=zh_CN.utf-8

#Set variable
REPOS="$1"
REV="$2"


SVN=/usr/bin/svn
WEB=/home/www/develop
LOG=/var/log/svn/post-commit.log

#update the code from the SVN
$SVN update $WEB --username username --password passwd --non-interactive

chown -R www-data:www-data $WEB
chmod -R 755 $WEB

#......................
if [ $? == 0 ]
then
    echo  "$REPOS" "$REV" >> $LOG
    echo `date` >> $LOG
    echo "##############################" >> $LOG
fi

  

以上是关于linux svn post-commit 更新 我的svn post-commit 当ide提交时候可以执行,但是svn update 却没成功的主要内容,如果未能解决你的问题,请参考以下文章

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

Linux 下SVN自动更新

SVN设置更新钩子

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

windows下svn钩子实现每次提交更新至web目录

svn hooks post-commit钩子自动部署