使用者工具

網站工具


service:subversion:svn_server_for_linux

SVN Server for Linux

文章出處:http://ssh.tw/doc/svn.txt

安裝

  • Install svn
install subversion rpm 
  • 建立資料庫
svnadmin create /var/lib/svn
chmod 2775 /home/svn 
  • 設定 /etc/service
svnserve        3690/tcp                        # Subversion svnserve
svnserve        3690/udp                        # Subversion svnserve
  • 設定 inetd
service svnserve
  {
   disable = no
   socket_type = stream
   protocol = tcp
   wait = no
   user = svn
   server = /usr/bin/svnserve
   server_args = -i -r /var/lib/svn
  } 

service xinetd restart

透過 Httpd 協定使用 SVN

  • Install httpd module
install mod_dav_svn rpm 
  • 設定 inetd
修改 user = apache
  • 修改檔案權限
chown apache.apache -R /var/lib/svn
  • 增加 /etc/httpd/conf.d/subversion.conf
LoadModule dav_sn_module    modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
<Location /svn>
 DAV svn
 SVNPath /var/lib/svn
<LimitExcept GET PROPFIND OPTIONS REPORT>
AuthType Basic
AuthNmae "SVN Authorization "
AuthUserFile /etc/svn/.htpasswd
Require valid-user
</LimitExcept>
</Locateion>
  • 重新啟動 httpd
service httpd restart

透過 SSH 協定使用 SVN

  • 修改 /home/svn/conf/svnserv.conf
anon-access = none
auth-access = write
  • 參數說明
anon-access 任何人都可以存取
auth-access 透過SSH認證存取 
none 表示無法讀取
read 表示只能讀取
write 可寫入/讀取

SVN 指令

  • 先設定環境變數 SVN_EDITOR=vi
    • 管理者指令
      • svnadmin create /var/lib/svn
        建立 svn 資料庫
    • 客戶端指令
      • svn import foo svn:sss.vvv.nnn/var/lib/svn/foo
        建立一個新的專案 * svn co svn:
        sss.vvv.nnn/var/lib/svn/foo
        下載一個專案
      • svn commit –message “modify foo.html” test/foo.html
      • svn ci test/xxx.html
        更新 xxx.html 至 SVN
      • svn status -vq
        檢視 SVN 狀態
      • svn diff
        檢視 SVN 版本差異處
      • svnlook log /var/lib/svn
        檢視 Log
      • svn log foo.html
        檢視 foo.html Log
      • svn diff –revision 1:3 foo.html
        比較第一版和第三版 foo.html 差異性
      • svn cat –revision 2 foo.html
        檢視第二版本 foo.html
      • svn log –revision 2 foo.html
        檢視第二版本 foo.html 修改紀錄
      • svn update –revision 1 foo.html
        恢復第一版本 foo.html

Win32 Clinet

Win32上可以安裝 Tortoisesvn 此程式, 這是用來存取 SVN 的 Clinet軟體

安裝 Tortoisesvn

下載點: http://tortoisesvn.tigris.org/

Tortoisesvn 可以透過 http, svn, svn+ssh 協定來存取 SVN , 不過使用 svn+ssh 需要安裝 ssh clinet 套件

下載點: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

plink 只是一個程式, 無須安裝. 在 Tortoisesvn 中 SSH Clinet 指定 plink 位置, 並且加上參數

plink -l usernaem -pw password

指定之後, 就可以使用 svn+ssh 協定存取 SVN

service/subversion/svn_server_for_linux.txt · 上一次變更: 2014/02/13 15:22 由 eddie