2009年10月9日 星期五

ubuntu9.04 install svnserver


 使用方式

 Subversion完整的參考文件
 

     (英) http://svnbook.red-bean.com/
     (中) http://svn.stu.edu.tw/svnbook/
 (Q&A) http://subversion.tigris.org/faq.html

  如何安裝 svn server 端
 #apt-get install subversion

 與Apache 結合的套件
 #apt-get install libapache2-svn

  如何使用 svn server 端
 

 建立起 svn 的 repository 的 tree

 其主要有三種類型的指令
 1. 管理 (svnadmin) : 主要是控制及管理project版本的整體的架構
 2. 查詢 (svnlook) : 主要是查詢關於版本的相關資訊
 3. 服務 (svnserve) : 處理其對外的服務設定

 使用最基本的架設....
 建立使用群組
 #groupadd  svnbrook
 將自己(brook)及www-data(apapch2帳戶)添加至該群組 #vi /etc/group
 最後一行就改成 svnbrook:x:1001:brook,www-data #mkdir /home/svn      #建立svn資料庫的父路徑 #cd /home/svn
 #mkdir myproject01   #建立svn資料庫的專案目錄
 #svnadmin create /home/svn/myproject01 #使用svn命令,建立svn資料庫
 
此時你可以在 myproject01 下看到
 conf dav db format hooks locks README.txt
 
#chown -R root:subversion myproject         #更改目錄群組
 
#chmod -R g+rws myproject   #增加群組用戶讀寫及新增目錄權限

 若要用 apache 做為連結管道再設定下述 (在此我們用 ssh 做為連結管道)
 

 #vi /etc/apach2/mods-available/dav_svn.conf

 加入
 
<Location /svn/myproject01>
    DAV svn
    SVNPath /home/svn/myproject01
    AuthType Basic
    AuthName "myproject subversion repository"
   AuthUserFile /etc/subversion/passwd
  <LimitExcept GET PROPFIND OPTIONS REPORT>
     Require valid-user
  </LimitExcept>
 </Location>

 再增加使用者及密碼
 
#cd /etc/subversion
 #touch passwd
 #htpasswd -c passwd brook
 New password:
 Re-type new password:
 Adding passwd for user brook

 重新啟動  apache2
 

 #/etc/init.d/apache2 restart

 你就可以在網頁上看到資訊

  如何使用 svn client 端
 

 其主要指令是 svn 來處理..基本的資料夾加刪...

 當我們是用 ssh 連入 svn server 時
 svn co svn+ssh://使用者id@hostname或hostip/home/svn/myproject
 連續輸入兩次使用者密碼即可進入

 先使用 svn update 更新至最新版本  以避免  conflict
 再使用 svn commit
 要將資料上傳時   再使用 svn add + 增加的資料夾及檔案
 這時會有設定...將要上傳的資料加入 設定中即可

  如何使用 svn 更新檔案

 在 svn server 端  是記載版本的變更

 故..................看不到修定的版本結果

 在 svn server 須使用 checkout 將 更新的資訊取出
 在本機新開的資料夾  brooktmp
 #mkdir brooktmp
 #cd brooktmp
 #svn co file:///home/svn/myproject01
 在 brooktmp 的資料夾中  即有最新版本的  myproject01 的資料夾

  將 svn server 連上網路使用

 你可以使用 Apache2 的 http 網頁設定  或 其 SSL 的 https 設定
 在此我們是使用 ssh 連入

 先用  WINSCP 將新更改的版本  Copy (F5) 置入  電腦 (Server 或另一台電腦)

 再用  svn 更新之   (另一台電腦需再用 ssh+svn 連入 Server)


 reference:
 http://svn.stu.edu.tw/svnbook/book.html#svn-ch-5-sect-4.2.1
 http://www.duduwolf.com/post/setting_up_subversion.asp
 http://www.blogjava.net/pandawang/archive/2006/09/05/67844.html

沒有留言:

張貼留言