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