星期三, 11月 29, 2006

svn -- Subversion

SVN 是一個 版本控制系統 像 CVS 一樣, 可以說是CVS 的一種改良 但又不完全是
總而言之.. SVN 基本上是用來讓開發者群一起開發一個專案又不會產生衝突的一種系統

紀錄一下安裝的流程..


ubuntu 下安裝svn server 很簡單
sudo apt-get install apache2 subversion libapache2-svn

這樣就會把該裝的檔案裝好了
apache 不需要怎麼設定... 有需要請上網找..(懶)
設定一下svn server ...
首先先做一個svn 要用的目錄..
sudo svnadmin create /home/svn/test (假設在/home/svn/test)
sudo chown -R /home/svn/test (讓apache 可以存取, 我是這樣才成功的..)
更正->
sudo chown -R www-data:www-data /home/svn/test (讓apache 可以存取, 我是這樣才成功的..)
打開 /etc/apache2/mods-avaliable/dav_svn.conf
裏面有一些instructions..就不貼出來了..

<location>
DAV svn
SVNPath /home/svn/test
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/dav_svn.passwd
<limitexcept get propfind options report>
Require valid-user
</limitexcept>
</location>

存檔以後..按照剛剛裏面有寫的instruction 到/etc/apache2/ 製作密碼檔..用來限制使用者

sudo htpasswd2 -c /etc/apache2/dav_svn.passwd haha
輸入密碼..
sudo htpasswd2 /etc/apache2/dav_svn.passed test123
輸入密碼

這樣就把, haha, test123 的帳號打開了

----
svn 的使用我也還在摸索
不過也不難啦..
反正第一次把project 匯進去..
svn import /home/haha/xxx/ http://localhost/svn/test
輸入了原因(會自己開 vim 給你輸入, 或者用-m 'xxx' 在指令後面直接寫)
密碼驗證以後..就會匯進去了
到http://localhost/svn/test 可以看到狀況

每次要開始工作前, 先到工作的目錄
svn co http://localhost/svn/test /home/haha/project

會把最新的檔案抓下來到/home/haha/project/
做完更改以後
svn ci

就會把所做的更變 commit 上去
當然也要寫原因

svn up
svn log

這樣就會看到剛剛所做的變更了
簡單來說差不多就是這樣吧
還有一些零碎的指令
svn help 就可以顯示..
我也在摸索中:p

我想svn 是個不錯的東西, 對於很多人要一起工作的專案
加上mailing list 可以增加工作效率

沒有留言: