在終端運(yùn)行svn命令.如果沒(méi)有安裝,系統(tǒng)會(huì)提示安裝
1.首先需要安裝Subversion軟件:
sudo apt-get install subversion
2.建立一個(gè)文件夾作為版本庫(kù)的根目錄
mkdir /var/svnroot/
這個(gè)目錄本身不是版本庫(kù),只是拿來(lái)裝版本庫(kù)的目錄
3.進(jìn)入這個(gè)目錄,創(chuàng)建版本庫(kù)
cd /var/svnroot/
svnadmin create vlink
以后如果有多個(gè)項(xiàng)目,可以繼續(xù)在/var/svnroot/下面create新的版本庫(kù)
4.配置vlink cd /var/svnroot/vlink/conf/ ls
將會(huì)看到以下文件:
authz passwd svnserve.conf
首先編輯 svnserve.conf
vim svnserve.conf
其中 anon-access 表示 匿名用戶的權(quán)限,auth-access 表示經(jīng)過(guò)認(rèn)證的用戶的權(quán)限。去掉前面的#注釋,頂格寫。一般說(shuō)來(lái)像這樣就可以了:
anon-access = none
auth-access = write
然后看到下面有 password-db 這個(gè)配置項(xiàng)。 這個(gè)是配置使用的密碼文件。
password-db = passwd
為了以后多個(gè)版本庫(kù)同時(shí)運(yùn)行,建議改這個(gè)文件到 /var/svnroot/下面。比如: /var/svnroot/passed
password-db =/var/svnroot/passed
同理,authz-db這個(gè)也是,像這樣:
/var/svnroot/authz
然后有個(gè)東西叫做realm,這個(gè)貌似是連接svn服務(wù)器的時(shí)候的提示句子。。不過(guò)設(shè)置成vlink的名字肯定沒(méi)錯(cuò)。比如 vlink
realm = vlink
其他的不管。保存退出。
6.編輯 /var/svnroot/passwd
這個(gè)簡(jiǎn)單,像這樣就可以了:
[users]
username=password
username=password
7.啟動(dòng)svnserve
sudo svnserve -d -r /var/svnroot/
-r 后面的參數(shù)是svnroot位置,而不是某個(gè)版本庫(kù)的位置
要關(guān)閉svnserve可以直接用 kill 結(jié)束掉那個(gè)進(jìn)程
8.Configure iptables
如果服務(wù)器上設(shè)置了iptables的話,你需要開(kāi)啟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 如果出現(xiàn)下面一行表示設(shè)置成功了: … ACCEPT tcp – anywhere anywhere tcp dpt:svn
9.測(cè)試 在本地
svn co svn://xxx.xxx.xxx.xxx/vlink –username xxx –password xxx
如果還有問(wèn)題的我建議是將svnserve.conf文件中的有關(guān)authz注釋掉,在測(cè)試。
我做的時(shí)候是有上面的問(wèn)題,后來(lái)師兄注釋掉后就好了,具體我也不明白什么原因
如何將想要的svn庫(kù)中文件備份導(dǎo)出和導(dǎo)入呢(這里我沒(méi)有測(cè)試過(guò),大家可以測(cè)試一下,我們共同探討)
10.將原來(lái)的Repository導(dǎo)出為一個(gè)文件dumpfile
svnadmin dump path/to/old-repo > dumpfile.svn
將dumpfile導(dǎo)入到新的Repository
svnadmin load path/to/new-repo dumpfile.svn
11.本機(jī)svn的快速遷移方法:
svnadmin hotcopy old_rep_path new_rep_path
12.將原先服務(wù)器的配置文件備份后復(fù)制到新服務(wù)器中
/etc/httpd/conf.d/subversion.conf
還有repository目錄下的authfile、auth.conf也需要備份后復(fù)制到新服務(wù)器中
13.linux下重新定位SVN URL方法:
如果更換了SVN服務(wù)器,就需要重新定位,指向新的SVN URL。
重新定位命令:
svn switch --relocate
原svn地址 新svn地址
如何查看原svn地址?
查看原svn路徑方法:
svn info