svn hooks 同步设置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了svn hooks 同步设置相关的知识,希望对你有一定的参考价值。

昨天配置了一下午svn  hooks


本了很简单的一件事情,却因为 一个https弄的异常难搞。


在hooks的目录下,编辑 post_commit之后,始终无法updae,原因是,需要ssl验证主机。


在网上查看了下,用了svn ls  https://****之后,弹出需要确认,输入p,输入密码之后还是不行。


于是,我怀疑是用户的是。svn+apache  做的https协议。应该是用apache用户跑的吧。

可是apache用户我设置的是没有登陆权限的。怎么办?


只好usermod  修改,成为可登录用户。从/etc下面某个目录生成原始的bash环境配置文件。


用apache用户进行验证,保存验证信息,保存密码。还是不行。还是报错。


在老外的网站上发现了两个参数。

--non-interactive --trust-server-cert

然后呢。需要输入p的那个报错没了,剩下最后一行,错误信息:post-commit Host key verification failed.  验证失败。哈哈哈,还是失败。无语了。


最后决定放弃了,不用hooks的脚本跑了。


后来无意间发现有人这么做:

/usr/bin/ssh -lT [email protected] "/usr/bin/svn up /home/****"

/usr/bin/ssh -lT [email protected] "chown apache:apache /home/**** -R"


我再试试吧,不在本机弄了,直接同步到别的机器上。

做了ssh-key免登录之后,抱了个UTF-8的错误。

有人说在apache的配置文件加上:

SVNUseUTF8 on


不知道我写的不对还是就是不行,失败了。

svn客户端post-commit时,出现如下错误
post-commit hook failed (exit code 1) with output.
[Error output could not be translated from the native locale to UTF-8.]

解决方法:
其实上述错误是一个错误,执行post-commit脚本时文字编码造成的
在版本库hooks/post-commit文件中
原来是#export LANG=zh_CN.GBK
修改为export LANG=en_US.UTF-8即可(svn服务器默认是utf8)


后来照着上面的改,成功了。


暂时写到这。怎么让hooks识别commit -m "****"  里面的***?然后根据***进行同步命令多好啊?

继续努力。

本文出自 “勇攀高峰” 博客,请务必保留此出处http://libin580.blog.51cto.com/2252719/1783986

以上是关于svn hooks 同步设置的主要内容,如果未能解决你的问题,请参考以下文章

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

关于svn hooks拦截设置

如何利用svn自动同步更新到网站服务器

svn 同步hook

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

svn服务器的搭建以及利用svn hook与web根目录同步