linux下搭建svn 详解

删除老版本

yum -y  remove subversion 

安装

yum -y install subversion   

查看是否安装成功

(显示版本号为安装成功 version 1.7.14)

svnserve --version

创建svn文件夹

mkdir /data/svn/

创建svn仓库

svnadmin create /data/svn/gmtool

进入到密码配置文件配置密码(每行密码前不能有空格)

vim /data/svn/gmtool/conf/passwd

admin = adminpassword

testuser = testpassword

进入到svn.conf 配置

vim /data/svn/gmtool/conf/svnserve.conf

去掉这两行的注释# 扩展想查看提交的svn log日志 anon-access =none  

这样通过鼠标右键TortoiseSVN->show log就可以查看svn提交的历史记录了。

password-db = passwd

anon-access = none

进入端口号配置文件

vim /etc/sysconfig/iptables

-A INPUT -p tcp -m tcp --dport 8998 -j ACCEPT (复制一行改端口保存并退出 我这里重置端口为8998

执行SVN启动命令,其中参数-d表示以守护进程的方式启动, -r表示设置的根目录。

svnserve -d -r "/data/svn/gmtool/" --listen-port 8998

重启防火墙

systemctl restart iptables

进入hooks创建钩子文件

cd /data/svn/gmtool/hooks/

touch post-commit   &&   cp post-commit.tmpl post-commit

vim post-commit

复制以下代码粘贴保存并退出

#!/bin/sh
export LANG=zh_CN.UTF-8  #文件编码
REPOS="$1"    #仓库路径
REV="$2"      # 刚刚提交的代码的版本号
SVN=/usr/bin/svn   # svn命令
WEB=/data/项目目录  # web目录
LOG=/home/auto_svn.log  #日志文件
$SVN update $WEB --username admin --password adminpassword  #最后更新的命令

给钩子文件赋值最高权限

chmod  777 post-commit

这个时候就可以在本地检出代码了

svn://127.0.0.1:8998 (127.0.0.1 是你的服务器ip)

然后上传一个测试文件看看

上传成功后再服务器上的文件夹中检出一下

svn checkout svn://127.0.0.1:8998

常用命令

关闭svn命令:

killall svnserve

查看端口号

netstat -apn | grep 8998

本地检出svn

svn://127.0.0.1:8998

上传文件后再服务器在检出一下svn

svn checkout svn://127.0.0.1:8998

使用 svn switch --relocate 更改仓库 URL

svn switch --relocate <旧的仓库 URL> <新的仓库 URL>

例如 :svn switch --relocate svn://128.0.0.1:8998 svn://127.0.0.1:8998

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容