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

继续努力。

时间: 2024-10-29 19:10:39

svn hooks 同步设置的相关文章

关于svn hooks拦截设置

这边公司svn需要设置拦截请求 1 设置必须注释至少5个字符才能提交 LOGMSG=`$SVNLOOK log -t "$TXN" "$REPOS" | grep "[a-zA-Z0-9]" | wc -c` if [ "$LOGMSG" -lt 5 ]; then    echo -e "大哥你要写点注释啊,不然不能提交." 1>&2    exit 1 fi # All checks pa

svn hooks使用

最近要将某个目录做samba共享出去,而想通过svn同步文档到svn,然后通过svn hooks 同步到共享目录,实现自动化 现在svn服务器和samba server再同一台机器上: 在svn路径下找到hooks目录,下面有很多脚本如下: post-commit.tmpl post-unlock.tmpl pre-revprop-change.tmplpost-lock.tmpl pre-commit.tmpl pre-unlock.tmplpost-revprop-change.tmpl p

设置SVN hooks实现自动发布

# CentOS下安装SVN yum -y install subversion svnserve --version cd /home/ mkdir svn cd svn/ /usr/bin/svnserve -d -r /home/svn/ # 启动SVN服务 svnadmin create /home/svn/test/ # 创建版本仓库 vi /etc/rc.local # 新增以下内容 /usr/bin/svnserve -d -r /home/svn/ # 先设置 passwd ,并

利用SVN HOOKS脚本同步服务器

内部测试服务器同时兼做SVN服务器,所以配置了SVN HOOKS的post-commit脚本,在团队成员成功提交了文件后,自动完成测试服务器的更新.步骤如下:1. cd /svnroot/hooks2. cp post-commit.tmpl post-commit3. 将post-commit的内容修改为:#!/bin/shSVN=/usr/bin/svnWEB=/var/web/$SVN up --username server --password 123456 $WEB其中,/var/w

利用SVN钩子同步程序注意事项

暂时记下,此文章内容稍后验证. 前言:其实利用SVN实时同步到WEB服务器即时展现出来的文章已经到处都是,但是我在做的时候 还是有不少的小问题,很多文章也没有提出来过,还有同步也是,我还是记录下自己做过的尤其是一些细节,时间一长又会忘掉了. 同步程序思路:用户提交程序到SVN,SVN触发hooks,按不同的hooks进行处理,这里用到的是post-commit,利用post-commit到代码检出到SVN服务器的本地硬盘目录,再通过rsync同步到远程的WEB服务器上. 知识点:1.SVN的ho

MySQL 5.5主从同步设置教程

先修改Master(10.1.123.197)的 my.cnf 配置 在 [mysqld] 中新增以下内容 log-bin=mysql-bin log-bin-index=mysql-bin.index server-id = 1 sync_binlog=1 binlog_format=mixed 然后指定要做同步的数据库,并忽略掉不需要做同步的数据库 binlog-do-db = testdb binlog-ignore-db = mysql binlog-ignore-db = perfor

vscode同步设置&扩展插件

首先安装同步插件 第二部进入你的github如图:  打开设置选项: 新建一个token: 如图:  记住这个token值 转到vscode 按shift+alt +u  在弹出窗里输入你的token,然后等下会生成syncSummary.txt文件在窗口中打开这样就算成功了. syncSummary.txt这个文件里有个gist值或者到用户设置文件中查看gist的值,这个值用来你再另一台电脑上来下载你的设置 下载你的设置方法为:打开vscode--按alt+shift+d  在弹出窗里输入你的

删除 Zune 同步设置和历史记录教程

如果您的PC正在给多部WP7手机同步数据,而不想保留上一部WP7手机的同步信息和设置,那就来看看这里推出的删除Zune同步设置和历史记录教程吧.通过该操作可以快速的删除Zune软件与WP7手机同步时的各种设置和历史记录等信息,为其他WP7手机同步操作提供一个纯净的环境. 删除Zune同步设置和历史记录的准备: 1.安装Zune软件的PC.2.数据线.3.需要删除同步设置和历史记录的WP7手机. 操作步骤如下: 1.用数据线连接WP7手机和PC,电脑自动运行Zune软件,稍等片刻,让Zune进入同

vscode 同步设置及扩展插件 实现设备上设置统一

准备工作:电脑上需安装vscdoe,拥有github账户 1. 安装 同步插件"Settings Sync" 2. 进入github -> Settings 在左侧 Developer settings -> Personal access tokens 3. 点击按钮 Generate new token 新增一个token 图1: 图2: 图3: 记住你自己生成的token值 4. 回到vscode配置将token配置到本地 按shift + alt + u 在弹窗里输