linux centos7.6下 安装svn
作者:互联网
第一步:通过yum命令安装svnserve,命令如下:
> yum -y install subversion
第二步:创建版本库目录(此仅为目录,为后面创建版本库提供存放位置)
选择在var路径下创建版本库,当前处于根目录下,一次性创建如下:
> mkdir /var/svn/svnrepos
第三步:创建svn版本库
> svnadmin create /var/svn/svnrepos/xxxx (xxxx为你预期的版本库名称,可自定义)
创建成功后,进入xxxx目录下
修改passwd文件信息
格式为:账号名 = 密码
例:user1 = 123456
修改svnserve.conf
只把四个地方的注释去掉即可,注意前面不要留空格
第五步:防火墙开启
>/sbin/iptables -I INPUT -p tcp --dport 3690 -j ACCEPT
>/etc/init.d/iptables save
>service iptables restart
第六步:启动svn
svnserve -d -r /var/svn/svnrepos
第七步:设置自动同步
在svn版本库的hooks目录新建post-commit文件
内容如下:
#!/bin/sh
export LANG=zh_CN.UTF-8
/usr/bin/svn update --username user1 --password 123456 /var/www/hltest
其中第一行意思是:用sh来解析这个脚本,因为各种shell的语法有细微的差别
第二行是编码格式:这里我使用的是UTF-8
最后一行/usr/bin/svn 是svn的路径,不是项目路径,应该都是一样的,后半句分别是用户名、密码、和项目路径。--username这个比较坑了,网上搜出来的很多都搞错了,前面其实是两个减号,英文输入法下的。
修改post-commit的可执行权限
chmod 755 post-commit
进入项目目录checkout
svn checkout svn://xx.xx.xx.xx/hltest . (注意最后有个点)
如果有文件先commit
svn add 文件名
svn commit -m “备注” 或(svn ci -m “备注”)
常见错误:
255错误:post-commit没有给执行权限 或者 头部没有执行用sh执行,就是没有#!/bin/sh
提示跳过目录:服务器目录没有checkout代码,记得一定要先checkout一次,才能同步(!,每次新建项目都需要)
什么提示也没有:这种情况出现在用工具commit的时候,成功了,但是就是没有同步,建议你到linux下,使用./post-commit手动执行看报什么错误。如果乱码,请将文件内编码格式修改为GBK
提示** is a direcitory:/usr/bin/svn你把这个搞错了,他不是一个目录,是svn的路径
第四步:配置修改 进入conf
修改authz文件信息,如下: 在底部加入(rw表示赋予此账号可读写的权限) 配置单个 [项目名:/] user = rw 配置多个 web = user1,user2 [项目名:/] @wab = rw
![](https://www.icode9.com/i/l/?n=20&i=blog/596284/202110/596284-20211019101437148-1880850877.png)
![](https://www.icode9.com/i/l/?n=20&i=blog/596284/202110/596284-20211019101737572-1766307883.png)
![](https://www.icode9.com/i/l/?n=20&i=blog/596284/202110/596284-20211019101838748-198394182.png)
标签:svn,bin,linux,var,commit,post,目录,centos7.6 来源: https://www.cnblogs.com/tony0702/p/15423624.html