首先,列出一些我認(rèn)為重要的參考網(wǎng)站
1,主要介紹如何安裝SVN以及一些ABCKnowledge
http://wiki.ubuntu.org.cn/SubVersion
2,一些操作實(shí)例
http://hi.baidu.com/kang_liang/blog/item/7d97ac604a6729d88cb10d1a.html/cmtid/6abe672b7a4cb9f7e7cd4064
http://www.net527.cn/a/caozuoxitong/Linux/7473.html
下面是我的一些備忘
1,給系統(tǒng)添加一個(gè)用戶,這個(gè)用戶和svn的登錄用戶不一樣的,這個(gè)原理和samba的原理是一樣的。
sudo adduser todd
輸入密碼,確認(rèn)密碼
如果想提升root權(quán)限的話,sudo usermod -G admin -a 用戶名
2,安裝svn和apache2是必須的,參考上面的網(wǎng)站
3,創(chuàng)建文件倉(cāng)庫(kù)的根目錄,我強(qiáng)烈建議是svn,這樣以后你可以直接在svn下劃分子目錄,比如
游戲的工作目錄和網(wǎng)站的工作可以平行的獨(dú)立開,如果一開始指向的就是svn/workspace,以后再
想改到svn下面就比較惱火了,總會(huì)遇到這樣或那樣的錯(cuò)誤,我現(xiàn)在就是把web也劃到workspace下面
去了,雖然勉強(qiáng),但也沒有辦法了。
4,創(chuàng)建svn的用戶,htpasswd -m /etc/subversion/passwd USER,如果是第一次創(chuàng)建用的是
htpasswd -c /etc/subversion/passwd USER,這樣就會(huì)把用戶名和密碼生成到passwd文件中去了,到時(shí)候
也可以很方便的對(duì)已經(jīng)創(chuàng)建好的用戶進(jìn)行分組管理權(quán)限了。
5,在/etc/subversion/的目錄下面創(chuàng)建權(quán)限管理文件 authz,我一開始的時(shí)候權(quán)限管理文件是指向我工作目錄
下面的一個(gè)authz,發(fā)現(xiàn)根本不好使,還是這樣做比較科學(xué)。配置這個(gè)文件的格式如下:
[groups]
admin=allen
webguy=todd
[workspace:/]
*= r
[workspace:/Crash]
*= #開始初始化所有人都無操作權(quán)限
@admin=rw
@webguy=rw
6,apache的配置文件
<Location /svn/workspace> #注意這兒的目錄,科學(xué)的講應(yīng)該是/svn的根目錄
# Uncomment this to enable the repository
DAV svn
# Set this to the path to your repository
SVNPath /home/svn/workspace #要和上面保持一致
AuthType Basic
AuthName "workspace Subversion Repository"
AuthUserFile /etc/subversion/passwd #這就是添加的svn用戶名和密碼,加密的
# To enable authorization via mod_authz_svn
AuthzSVNAccessFile /etc/subversion/authz #這兒就是權(quán)限配置文件
# The following three lines allow anonymous read, but make
# committers authenticate themselves. It requires the 'authz_user'
# module (enable it with 'a2enmod').
#<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
#</LimitExcept>
</Location>
最后,就是經(jīng)常在管理版本的時(shí)候遇到清理和鎖定的問題,我查了很多資料,都沒有找到好的方法,首先應(yīng)該盡量避免提交二進(jìn)制文件,都提交文本文件,一旦遇到鎖定的問題后,就是把本地文件全部刪除,重新從服務(wù)器上獲取,雖然很土,但很實(shí)用,切忌要保證服務(wù)器的版本是最新的!!!
Most Important 常見錯(cuò)誤:
Error1: Can’t open ‘/home/svn/db/txn-current-lock’: Permission denied
這種錯(cuò)誤比較常見,而且一開始我一直以為是自己沒有配置好認(rèn)證權(quán)限的問題,我反復(fù)的配置10,11兩步,結(jié)果還是沒解決,我在windows下用tortoiseSVN客戶端一直無法commit和添加文件,老是彈出這個(gè)錯(cuò)誤。可我在linux下可以用
#svn import …. 這個(gè)命令,我一直很納悶,后來經(jīng)過琢磨和上網(wǎng)搜索,終于解決。問題在于我的/home/svn目錄下的一切子目錄和文件都是屬于root用戶的,而我每次在linux下也是以root 用戶import的,所以一直沒有問題。可在windows從客戶端訪問就有問題了。
解決辦法: 把/home/svn目錄下的所有文件和子目錄添加讀寫權(quán)限
#chmod –R o+rw /home/svn
Okay, 問題解決。