1、安装svn服务
# yum install subversion
2、新建一个目录用于存储SVN所有文件
# mkdir /home/svnrepos
2,创建版本库
svnadmin create /home/svnrepos //这里的文件目录自己随便设置
注意:如果创建的目录是:svnadmin create /home/svnrepos/repos
而且启动svn服务是在上一层目录的话:如:svnadmin create /home/svnrepos/repos
那么访问的路径要带上子目录:如 svn://123.207.12.76/repos
3,配置svnserve
上述版本库/home/svnrepos建立后在文件夹下会生成conf文件夹,进入/home/svnrepos/conf下面会有下面3个文件
authz passwd svnserve.conf
依次修改配置
3.1 vi 打开/home/svnrepos/conf目录下svnserve.conf修改以下几个部分:(注意:去掉注释时,前面不能留空格)
anon-access = read
auth-access = write
password-db = passwd
authz-db = authz
3.2 vi 打开/home/svnrepos/conf目录下passwd文件修改为:(可以设置多个用户)
[users]
username = password //这里的username和password自己设置
3.3 vi 打开/home/svnrepos/conf目录下authz最后加上以下两行(这两行解决了 SVN客户端解决authorization failed问题)
[/]
* = rw
4,启动svnserve即可:
svnserve -d -r /home/svnrepos/
在特定端口启动:
svnserve -d -r /home/svnrepos/ –listen-port 8081
注意:启动遇到 svnserve: E000098错误,则kill进程在启动服务
[root@iZjvr37lpviqbkZ conf]# svnserve -d -r /home/svnrepos/
svnserve: E000098: Can't bind server socket: Address already in use
[root@iZjvr37lpviqbkZ conf]# killall svnserve
注意:遇到链接不上就检查一下,防火墙端口是否打开
svn 默认的端口
[root@iZjvr37lpviqbkZ ~]# firewall-cmd --add-port=3690/tcp
success
[root@iZjvr37lpviqbkZ ~]# firewall-cmd --permanent --add-port=3690/tcp
success
[root@iZjvr37lpviqbkZ ~]# firewall-cmd --reload
success
5,客户端使用:
客户端用svn或者windows下的TortoiseSVN客户端
5.1,从服务端checkout版本库(在当前目录下)
svn checkout svn://服务器的ip地址/
eclipse 的svn检出根目录,会报错(必须要有下级文件目录)
svn add code project document //或者直接用svn add *
svn commit -m 'import three directories' 一定要对当前版本写注释。
svn add text //利用svn add命令添加文件夹或文件 ,添加后还有提交
svn commit -m "jj" //提交,在其他的svn客户端就能及时看到了
如果其他svn客户端提交的文件,svn服务器要svn checkout svn://123.207.12.76 才能看到,或者更新
个人也不知道其他客户端提交上来的文件存放在哪里?,之前检查过(/home/svnrepos/)根目录没有发现提交上来的文件;
后来使用svn checkout svn://123.207.12.76 下来看的
3、svn客户端测试图: