• +86 18940128339
  • 3056844889@qq.com

标签归档svn

SVN安装 使用

采用yum安装方式:

1、rpm -qa subversion //检查是否安装了低版本的SVN

2、yum remove subversion //如果存储旧版本,卸载旧版本SVN

3、开始安装yum -y install subversion

安装好后查看版本svnserve –version

4、创建版本仓库:

mkdir -p /data/svn/myproject                                
svnadmin create /data/svn/myproject/

查看/data/svn/myproject 文件夹可以发现有conf, db,format,hooks, locks, README.txt等文件,说明一个SVN库已经建立。

5、配置权限

cd /data/svn/myproject/conf/            //进入配置目录

vim svnserve.conf                    //编辑配置文件,加入下面五行内容

anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
realm = /data/svn/myproject

6、编辑密码文件,添加用户admin密码123456:

vim passwd  

localuser = 123456
defaultuser = 123456

7、编辑权限文件,添加用户test权限

vim authz

[groups]
root = defaultuser 
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
[/]
@root = rw
localuser = rw

8.启动SVN

# svn端口默认是3690 这里使用10102
svnserve -d  --listen-port 10102  -r  /data/svn/   

二、给svn添加钩子同步文件到PHP测试环境 (这里PHP项目目录为/var/www/html/project/)

1、进入版本库下的hooks目录

cd /data/svn/hooks/

2、将post-commit.tmpl 复制为 post-commit

cp post-commit.tmpl post-commit

给post-commit可执行权限

chmod 0777 post-commit

4、编辑post-commit,注释掉#mailer.py……这一行,添加下面四行,编码问题,如果错误的话可能导致无法同步 成功,可选的有en_US.UTF-8、zh_CN.UTF-8、zh_CN.GB2312,可以一个个试。

vi post-commit

#mailer.py commit "$REPOS" "$REV" /path/to/mailer.conf
export LC_ALL=en_US.UTF-8
SVN=/usr/bin/svn
STATIC_DIR=/www/wwwroot/
${SVN} update  ${STATIC_DIR} --username "localuser" --password "123456"

5、在提交之前,进行一次checkout代码到指定目录

svn checkout svn://localhost/ /www/wwwroot/
5、查看 关闭进程 
ps -aux | grep svnserve
 kill -9 端口号

三.设置开机启动

查看服务 ps aux|grep svnserve

查看 pid下面会用到 pidof svnserve

打开 svnserve.pid 添加上面的pid

vi /run/svnserve/svnserve.pid
cat svnserve.pid

编辑 svnserve.service 替换ExecStart内容

vim  /lib/systemd/system/svnserve.service
ExecStart=/usr/bin/svnserve --daemon --pid-file=/run/svnserve/svnserve.pid -d --listen-port 10102 -r /data/svn

svnserve.service 服务

systemctl enable svnserve.service #开机自启
systemctl start svnserve.service #启动服务
systemctl stop svnserve.service #停止服务
systemctl status svnserve.service #停止服务