svn 需要apache2(如果要http:\\ protocol) 和subversion。所以要install..
#aptitude install apache2 subersion libapache2-svn完成後,要config apache2,
如果已經config好的,就只要修改dav_svn 這個module的設定。
在 /etc/apache2/mode-enabled 下的 dav_svn.cof:
這個file 裡面已經有些說明,follow 說明把一些 # 拿掉就可以。
SVNPath 放repository 的位置,改成 /var/local/repos
使用 Basic 的 AuthType 。 注意下面 AuthUserFile 的path,待會要create user password file。
完成後...
svn 不能自己create reposity folder,所以要手動:
#mkdir -p /var/local/repos然後就可以叫svn create databas..
#chown -R www-data:www-data /var/local/repos
#svnadmin create /var/local/repos接著... create access passwd : (剛剛AuthUseFile)
#htpasswd2 -c /etc/apache2/dav_svn.passwd charles把"charles"加入可以commit的名單中..
重新啟動apache2,就可以開始svn的操作。
svn 的操作會在folder中create ".svn" 隱藏目錄。
----- 所以有些動作不用指定 host 名稱..svn會自動由 .svn 這個folder的資料決定動作方式。
checkout時,要指定 svn path和 project。並且checkout會複製出整個folder。
update, diff, log 都是針對local 與 svn server間的動作,所以都要在project folder中動作,
這樣svn 才能根據 folder中的 ".svn" 來動作。
也就是說,一旦checkout一個project後,只要每次在folder中值行:
svn update就可以保持這個project在最update的狀態。
(但是一般sourceforge的svn server不會容許你這樣作....)
也就是說,一旦checkout後,其他動作就只要在folder中動作,不用再記 PATH了。
一旦checkout後,svn有一份原始檔案列表,每次update, commit都是針對這分列表的檔案動作,所以要是新增一個檔案,svn 並不會 紀錄進去 (想想 build後的目錄,裡面有一堆.o 和log...)。
要在 project中新增檔案,要用 "add" command
svn add newfile這樣svn就會把newfile加入你的local .svn sourcelist中,之後你 commit後,newfile就會被update到repository。
同理,delete file也一樣,要用"del" command:
svn del junkfile才會修改sourcelist。
svn 的help是
svn help command
.
沒有留言:
張貼留言