Subversion 是一套好用的版本控制工具,一般簡稱為 SVN,可跨平台、跨開發工具支援,除了作為程式碼專案的版本控制管理,拿來當文件管理、備份、分享系統也相當實用。在 SVN 成為普遍使用的工具之前,最常被使用的工具是CVS(Current Version System),以Eclipse開發工具來說,CVS是很早就已內建支援的團隊協同(team collaboration)開發工具,而SVN通常必須加上3rd Party的延伸套件(Subclipse)才能支援(成為預設套件應該只是時間上的問題,目前3.4已經提供Subversive - SVN Team Provider,只是要另外加裝3rd Party Connectors)。由於SVN的易學易用,並有許多具親和力的圖形介面工具、可與Windows檔案瀏覽器(Explorer)整合(Tortoisesvn),即使是Visual Studio .NET的開發者,也有AnkhSVN可以選擇(當然使用人口沒微軟自家的Team System多啦)。集合起各種作業系統、開發環境平台的使用者,SVN儼然成為時下的主流。
這篇文章提供Ubuntu安裝SVN伺服器的初步說明,希望能幫助還未上手的朋友能在短時間內學會使用這個好工具。
安裝 Subversion
要善用Ubuntu超級豐富的APT套件庫,不但省時省力、日後也好維護。
sudo apt-get install subversion
一道指令解決。
設定 SVN 伺服器
自己架設伺服器也只需要很少的幾個步驟。
sudo apt-get install xinet.d
這道指令並非與SVN直接相關,而是安裝一個xinetd的daemon程式,它就像一個伺服器服務程式的管家,負責幫忙接待想透過網路連結服務的客戶。
建立新檔案在 /etc/xinet.d/svn ,檔案內容如下:
# default: off
# description: svnserve is the server part of Subversion.
# server_args = -i -r /var/lib/svn/repositories
service svn
{
disable = no
port = 3690
socket_type = stream
protocol = tcp
wait = no
user = svn
server = /usr/bin/svnserve
server_args = -i -r /home/svn
}
* /home/svn 是自行指定的 repository 存放目錄
接著建立 svn 的 user 及 home directory:
sudo mkdir /home/svn
sudo useradd -d /home/svn svn
sudo chown svn.svn /home/svn
重新啟動 xinetd ,測試SVN服務:
sudo /etc/init.d/xinetd restart
telnet localhost 3690
當telnet程式連線成功,並出現以下訊息,則表示SVN daemon已經啟動成功:
( success ( 1 2 ( ANONYMOUS ) ( edit-pipeline svndiff1 absent-entries ) ) )
建立新的 repository
cd /home/svn
sudo svnadmin create NEW_REPO
sudo chown svn.svn NEW_REPO -R
完成之後,就能已 svn 指令(SVN client)操作。
svn list svn://localhost/NEW_REPO
當然,因為都還沒有丟檔案,回傳一定是空的。
如果要操作權限(例如有帳號密碼可讀寫,訪客只能讀不能寫),則需要編輯 NEW_REPO/conf/svnserve.conf,設定以下三行(取消註解):
anon-access = read
auth-access = write
password-db = passwd
並在 NEW_REPO/conf/passwd 下新增帳號及密碼,例如:
[users]
jacky = pwd_is_blank
---= Q&A =---
SVN server在運作一段時間後,可能出現資料庫錯誤的狀況,訊息如下:
Could not open the requested SVN filesystem
此時必須使用 db_recover 指令進行修復,以Ubuntu Linux來說,安裝db4.*-util套件即可取得此程式。
以下示範在 Ubuntu Linux 的流程:
先搜尋有哪些db4.*-util版本可以安裝。
apt-cache search db4.*-util
db4.6-util - Berkeley v4.6 Database Utilities db4.2-util - Berkeley v4.2 Database Utilities db4.3-util - Berkeley v4.3 Database Utilities db4.4-util - Berkeley v4.4 Database Utilities db4.5-util - Berkeley v4.5 Database Utilities
我選擇的是db4.4-util,因此開始apt-get安裝。
apt-get install db4.4-util
安裝完成後,就會多一道 db4.4_recover 指令,切換到 svn repository directory 下執行這道指令即可修復。
更多參考資源在:
訂閱:
張貼留言 (Atom)
-
▼
2008
(241)
-
▼
7月
(29)
- 在家上班的員工,知識工作者服務企業的新趨勢
- Canoo WebTest
- Groovy初體驗之XML篇
- Groovy初體驗之Database篇
- 用Groovy開發Java Web Applications
- 逛網站,分享一些今天看到的網站
- 我很強! Very John
- JSP遇見失效的EL
- TeraCopy - Copy your files faster and easier
- CoolerMaster CM690 風扇配置篇
- Low-cost database load balancing solutions
- 解決mplayer播放srt字幕的亂碼問題
- 走樓梯運動,商辦工作族的健身之道
- 我的工作室之2008年暑假
- 用FireFox幫助你用部落格賺錢
- Open source XML diff written in Java
- HtmlCleaner 2.0 released!
- 7-11 開始賣自行車
- VMWare 6.0.4 Ctrl/Alt/Shift/CapsLock按鍵失效
- BackTrack 3 - linux live distribution focused on p...
- 使用 diskpart.exe 重新規劃磁碟分割
- SQL Server 的最大容量規格
- Playing SVN with Ubuntu
- Subversion support for Eclipse 3.4 Ganymede
- Firefox 3.0 的繁簡轉換
- Firefox Party 3.0
- Google-Gadgets for Ubuntu 8.04
- 準備 SCWCD 310-083 認証考試吧!
- Config Ubuntu to enable Open-SSH X11 Forwarding
-
▼
7月
(29)
沒有留言:
張貼留言