在终端运行svn命令.如果没有安装,系统会提示安装
1.首先需要安装Subversion软件:
1 | sudo apt-get install subversion |
2.建立一个文件夹作为版本库的根目录
1 | mkdir /var/svnroot/ |
这个目录本身不是版本库,只是拿来装版本库的目录
3.进入这个目录,创建版本库
1 | cd /var/svnroot/ |
以后如果有多个项目,可以继续在/var/svnroot/下面create新的版本库
4.配置vlink
1 | cd /var/svnroot/vlink/conf/ |
将会看到以下文件
1 | authz passwd svnserve.conf |
首先编辑 svnserve.conf
1 | vim svnserve.conf |
其中 anon-access 表示 匿名用户的权限,auth-access 表示经过认证的用户的权限。去掉前面的#注释,顶格写。一般说来像这样就可以了:
1 | anon-access = none |
然后看到下面有 password-db 这个配置项。 这个是配置使用的密码文件。
1 | password-db = passwd |
为了以后多个版本库同时运行,建议改这个文件到 /var/svnroot/下面。比如: /var/svnroot/passed
1 | password-db =/var/svnroot/passed |
同理,authz-db这个也是,像这样:
1 | /var/svnroot/authz |
然后有个东西叫做realm,这个貌似是连接svn服务器的时候的提示句子。。不过设置成vlink的名字肯定没错。比如 vlink
1 | realm = vlink |
其他的不管。保存退出。
5.编辑 /var/svnroot/passwd
这个简单,像这样就可以了:
1 | [users] |
6.启动svnserve
1 | sudo svnserve -d -r /var/svnroot/ |
-r
后面的参数是svnroot位置,而不是某个版本库的位置
要关闭svnserve可以直接用 kill 结束掉那个进程
7.Configure iptables
如果服务器上设置了iptables的话,你需要开启3690端口.
1 | iptables -A INPUT -p tcp -i eth0 --dport 3690 -j ACCEPT |
查看ipatbles: iptables -L 如果出现下面一行表示设置成功了:
1 | … ACCEPT tcp – anywhere anywhere tcp dpt:svn |
8.测试 在本地 svn co svn://xxx.xxx.xxx.xxx/vlink –username xxx –password xxx
如果还有问题的我建议是将svnserve.conf文件中的有关authz注释掉,在测试。
我做的时候是有上面的问题,后来师兄注释掉后就好了,具体我也不明白什么原因
如何将想要的svn库中文件备份导出和导入呢(这里我没有测试过,大家可以测试一下,我们共同探讨)
9.将原来的Repository导出为一个文件dumpfile
1 | svnadmin dump path/to/old-repo > dumpfile.svn |
10.将dumpfile导入到新的Repository
1 | svnadmin load path/to/new-repo < dumpfile.svn |
11.本机svn的快速迁移方法:
1 | svnadmin hotcopy old_rep_path new_rep_path |
12.将原先服务器的配置文件备份后复制到新服务器中/etc/httpd/conf.d/subversion.conf
还有repository目录下的authfile、auth.conf也需要备份后复制到新服务器中
13.linux下重新定位SVN URL方法:
如果更换了SVN服务器,就需要重新定位,指向新的SVN URL。
重新定位命令:svn switch --relocate
原svn地址 新svn地址
如何查看原svn地址?
查看原svn路径方法:svn info