一、安装 SVN 服务端
安装 Subversion
Subversion 是一个版本控制系统,相对于的 RCS 、 CVS ,采用了分支管理系统,它的设计目标就是取代 CVS 。
yum install -y subversion
二、创建 SVN 版本库
1.指定svn仓库地址
mkdir -p /data/svn/myproject
svnadmin create /data/svn/myproject
2.配置 SVN 信息
配置文件简介
版本库中的配置目录 conf 有三个文件:
authz 是权限控制文件
passwd 是帐号密码文件
svnserve.conf 是SVN服务综合配置文件
3.编辑 authz ,内容参考如下:
cd /data/svn/myproject/conf
[groups]
#用户组
admin = admin,root,test
#用户组所对应的用户
[/]
#库目录权限
@admin = rw
#用户组权限
*=r
#非用户组权限
4.编辑 passwd ,内容参考如下:
[users]
# harry = harryssecret
# sally = sallyssecret
admin = 123456
root = 123456
test = 123456
5.配置 SVN 服务综合配置文件 svnserve.conf
编辑 svnserve.conf ,内容参考如下:
[general]
# force-username-case = none
# 匿名访问的权限 可以是read、write,none,默认为read
anon-access = none
#使授权用户有写权限
auth-access = write
#密码数据库的路径
password-db = passwd
#访问控制文件
authz-db = authz
#认证命名空间,SVN会在认证提示里显示,并且作为凭证缓存的关键字
realm = /data/svn/myproject
[sasl]
三、启动SVN
1.启动 SVN
svnserve -d -r /data/svn
如果出现:
svnserve: E000098: Can't bind server socket: Address already in use
是系统默认开启的端口为3690,当你启动第二个版本库时还是开启3690,所以就冲突了。
解决方法:直接kill掉
ps aux | grep svn
找到svn进程Id
root 11617 0.0 0.0 162184 536 ? Ss 2017 0:00 svnserve -d -r /usr/local/data/svn
root 23385 0.0 0.0 112648 964 pts/0 S+ 15:33 0:00 grep --color=auto svn
kill 11617
如果svn正在使用中,可以换个端口开启,如:
svnserve -d -r /data/svn --listen-port 3691
2.checkout SVN项目
mkdir -p /data/workspace/myproject
svn co svn://127.0.0.1/myproject /data/workspace/myproject --username root --password 123456 --force --no-auth-cache
3.提交文件到 SVN 服务器
从本地提交文件到 SVN 服务器,其中 root 密码为 /data/svn/myproject/conf/passwd 文件存储的密码
cd /data/workspace/myproject
echo test >> test.txt
svn add test.txt
svn commit test.txt -m 'test'
提交成功后可以通过如下命令从本地项目删除文件
cd /data/workspace/myproject
rm -rf test.txt
删除后可以通过 SVN 服务器恢复
cd /data/workspace/myproject
svn update
到这里就安装结束了,更多svn相关的知识,比如权限,客户端,可以自行搜索尝试。