Subversion 出現 svn: Unrecognized URL scheme for 'http://.....' 時的解決方式

分類: 技術分享 作者: andrew

23 4 月 2009

前言

公司在針對各專案,一直都是使用Subversion(簡稱svn)這套軟體來針對各專案的檔案做版本的控制。至於何謂Subversion以及要如何使用這套軟體可參考這篇文章,這裡就不再贅述。這篇文章僅用來記錄在安裝完新的主機後,當我們要從遠端某台svn主機要把專案的檔案取出時出現以下訊息:

svn: Unrecognized URL scheme for 'http://www.sample.com/svn/bnq/trunk'

的解決方法。現在就讓我們來看看吧!

解說

一般來說,當我們費了千辛萬苦搞定一台主機後,如果要把網站的檔案利用svn取出放到新主機上,我們通常會下指令:

svn co http://www.sample.com/svn/trunk /var/www/html/

所謂的co其實是check out的縮寫,意思就是要把檔案取出;http://www.sample.com/svn/trunk 就是svn主機放置該專案的檔案位置;/var/www/html/ 則是我們打算把從svn取回檔案後要放置的位置。正常來說下完這行指令後依據svn主機的設定會要你做登入的認證,如果輸入正確則會開始看到檔案一個個放到我們設定的位置。但有時候卻會出現如前言中的訊息時又該怎麼辦呢?其實這是因為svn預設提供兩種方式來取得檔案,一種是file://,另一種是svn://,並沒有提供http://的方式來取檔。因此我們要幫svn掛上支援http方式的取檔模組,也就是neon這套程式。以下說明如何安裝neon。

安裝neon

neon(官方網站:http://www.webdav.org/neon/)提供HTTP及WebDAV的client端函式庫。安裝指令如下:

1. tar xvzf neon-0.28.3.tar.gz
2. tar xvzf subversion-1.5.5.tar.gz
3. mv neon-0.28.3 subversion-1.5.5/neon
4. cd subversion-1.5.5
5. ./configure
6. make && make install

這裡我們採用把neon掛入subversion下再重新安裝subversion的方式。指令1.2分別把neon與subversion解壓縮,指令3表示我們把解壓縮後的neon資料夾整個搬到subversion目錄下的neon資料夾中,指令4則是連到subversion目錄;至於指令5.6則是一般在linux下常見的編譯及安裝指令。當編譯及安裝完畢後,我們要怎麼確定svn已經有支援http方式的取檔方式呢?我們可以下以下指令:

svn --version

畫面如果有出現以下訊息

* ra_neon : Module for accessing a repository via WebDAV protocol using Neon.
- handles 'http' scheme

即表示我們現在可以透過svn使用http的方式來取檔了!

總結

使用subversion版本控制軟體對於一個多人開發的專案來說,實在是有其必要性。透過版本控制可以避免很多檔案互蓋的情況發生,相信很多程式研發團隊常常會遇到這樣的問題。本篇文章僅針對使用svn取檔出現錯誤訊息時提供解決方案,如果有其他使用svn上的經驗,歡迎您回文分享!

我要留言

關於這裡

這個部落格分享了哇寶在電子商務領域的技術及資訊,希望能讓更多人一起為台灣的網路產業加油。