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 "****"  里面的***?然后根据***进行同步命令多好啊?

继续努力。

你可能感兴趣的:(SVN,hooks)