Linux 搭建使用SVN和自动hook

参考原文:https://help.aliyun.com/document_detail/52864.html?spm=5176.11065259.1996646101.searchclickresult.37d8615aD467VY

基本按照官网文档下来,没什么问题,以下根据我个人的情况,记录的注意点:

1、svnserve.conf中这句可以不用去掉注释

realm = /var/svn/svnrepos #认证空间名,版本库所在目录  

2、运行以下命令启动SVN版本库。

svnserve -d -r /var/svn/svnrepos

svnserve -d -r /var/svn  就好了  

3、完成之后(Mac 可在 Cornerstone 执行 Add Repository)


Linux 搭建使用SVN和自动hook_第1张图片
1.png

4、此时只是将SVN服务添加到本地,无论你commoit 什么东西,都不会在服务器/var/svn/svnrepos中显示。 需要checkout到服务器中某个文件路径进行文件接受显示。

(先cd到你要存放的文件路径,比如我要存放在/var/www/html这个文件夹下)

即在linux终端输入以下命令:

cd /var/www/html

svn co svn://120.30.240.48/svnrepos

Linux 搭建使用SVN和自动hook_第2张图片
2.png

5、此时你在本地对文件进行commit,然后在cd /var/www/html

输入命令:svn up

就会在/var/www/html/svnrepos出现你提交的新内容。

6、创建hook,实现自动更新svn代码(不需要再输入svn up,commit后自动更新服务器数据)

cd 到你创建svn仓库的路径

比如:

1、cd /var/svn/svnrepos

2、ll

3、cd hooks

4、ll

5、vi post-commit

(输入以下内容:

#!/bin/sh

export LANG=en_US.UTF-8 #svn 编码是UTF-8

svn update --username= 用户名 --password= 密码 . --no-auth-cache --non-interactive 要自动更新的代码路径比如(/var/www/html/svnrepos)(要到svnreops这一层)

6、chmod 744 post-commit

7、 killall svnserve

8、svnserve -d -r /var/svn(启动svn的时候,路径不要写错了)

7、commit,服务器自动同步你提交的新数据


小小的总结,如果有不正确的地方,还请指教,谢谢!

你可能感兴趣的:(Linux 搭建使用SVN和自动hook)