Windows下搭建Subversion 伺服器

來源:互聯網
上載者:User

Windows下搭建Subversion 伺服器 
一、準備工作 

1、擷取 Subversion 伺服器程式 

到官方網站(http://subversion.tigris.org/)下載最新的伺服器安裝程式。目前最新的是1.5版本,具體在:http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=8100&expandFolder=8100&folderID=91 

2、擷取 TortoiseSVN 用戶端程式 

從官方網站 http://tortoisesvn.net/downloads 擷取最新的 TortoiseSVN 。TortoiseSVN 是一個用戶端程式,用來與 subvers 伺服器端通訊。Subversion 內建一個用戶端程式 svn.exe ,但 TortoiseSVN 更好操作,提高效率。 

二、安裝伺服器端和用戶端 

安裝 Subversion(以下簡稱SVN)的伺服器端和用戶端。下載下來的伺服器端是個 zip 壓縮包,直接解壓縮即可,比如我解壓到 E:\subversion 。用戶端安裝檔案是個 exe 可執行檔,直接運行按提示安裝即可,用戶端安裝完成後提示重啟。 

三、建立版本庫(Repository) 

運行Subversion伺服器需要首先要建立一個版本庫(Repository)。版本庫可以看作是伺服器上集中存放和管理資料的地方。 

開始建立版本庫。首先建立 e:\svn 空檔案夾作為所有版本庫的根目錄。然後,進入命令列並切換到subversion的bin目錄。輸入如下命令: 

svnadmin create E:\svn\repos1 

此命令在 E:\svn 下建立一個版本庫 repos1 。repos1 下面會自動產生一些檔案夾和檔案。 

我們也可以使用 TortoiseSVN 圖形化的完成這一步: 

先建立空目錄 E:\svn\repos1 ,注意一定是要空的。然後在 repos1 檔案夾上“右鍵->TortoiseSVN->Create Repository here...”,然後可以選擇版本庫模式,這裡使用預設的FSFS即可,然後就建立了一系列檔案夾和檔案,同命令列建立的一樣。 

四、運行獨立伺服器 

此時 subversion 服務還沒有開始,只是通過它的命令建立了版本庫。繼續在剛才的命令視窗輸入: 

svnserve.exe --daemon 

svnserve 將會在連接埠 3690 等待請求,--daemon(兩個虛線)選項告訴 svnserve 以守護進程方式運行,這樣在手動終止之前不會退出。注意不要關閉命令列視窗,關閉視窗會把 svnserve 停止。 

為了驗證svnserve正常工作,使用TortoiseSVN -> Repo-browser 來查看版本庫。在彈出的 URL 對話方塊中輸入: 

svn://localhost/svn/repos1 

點 OK 按鈕後就可以看見 repos1 版本庫的分類樹結構了,只不過這時 repos1 是個空庫。 

你也可以使用--root選項設定根位置來限制伺服器的訪問目錄,從而增加安全性和節約輸入svnserve URL的時間: 

svnserve.exe --daemon --root drive:\path\to\repository 

以前面的測試作為例,svnserve 將會運行為: 

svnserve.exe --daemon --root e:\svn 

然後TortoiseSVN中的版本庫瀏覽器URL縮減為: 

svn://localhost/repos1 

五、配置使用者和許可權 

用文字編輯器開啟E:\svn\repos1\conf目錄,修改svnserve.conf: 

將: 

# password-db = passwd 

改為: 

password-db = passwd 

即去掉前面的 # 注釋符,注意前面不能有空格。 

然後修改同目錄的passwd檔案,增加一個帳號: 

將: 

[users] 
# harry = harryssecret 
# sally = sallyssecret 

增加帳號: 

[users] 
#harry = harryssecret 
#sally = sallyssecret 
test = test 

六、初始化匯入 

下面就是將我們的資料(項目)匯入到這個版本庫,以後就由版本庫管理我們的資料。我們的任何改動都回被版本庫記錄下來,甚至我們自己丟失、改錯資料時版本庫也能幫我們找回資料。 

比如,我在 d:\wwwroot 下有個 guestbook 檔案夾,裡面存放的是我編寫的留言簿程式。在此檔案夾上“右鍵 -> TortoiseSVN -> Import...” ,在彈出對話方塊的“URL of repository”輸入“svn://localhost/repos1/guestbook”。在“Import message”輸入“匯入整個留言簿”作為注釋。 
點 OK 後要求輸入帳號。我們在使用者名稱和密碼處都輸入 test 。完成後 guestbook 中的內容全部匯入到了 svn://localhost/svn/repos1/guestbook 。 

我們看到在 e:\svn\repos1 沒有任何變化,連個 guestbook 檔案夾都沒有建立,唯一的變化就是e:\svn\repos1容量變大了。實際上我們源guestbook中的內容已經匯入 repos1 版本庫了,源 guestbook 檔案夾可以刪除了。 

需要注意的是,這一步操作可以完全在另一台安裝了 TortoiseSVN 的客戶機上進行。例如運行svnserve的主機的IP是133.96.121.22,則URL部分輸入的內容就是“svn://133.96.121.22” 。 

七、基本操作流程 

1、取出(check out) 

取出版本庫到一個工作拷貝: 

來到任意空目錄下,比如在f分區建立一個空檔案夾 f:\work 。“右鍵 -> SVN Checkout”。在“URL of repository”中輸入“svn://localhost/svn/repos1/guestbook”,這樣我們就得到了一份 guestbook 中內容的工作拷貝。 

2、存入(check in)/提交(commit) 

在工作拷貝中作出修改並提交: 

在 guestbook 工作拷貝中隨便開啟一個檔案,作出修改,然後“右鍵 -> SVN Commit... ”。這樣我們就把修改提交到了版本庫,版本庫根據情況儲存我們提交的資料。 

在修改過的檔案上“右鍵 -> TortoiseSVN -> Show Log” ,可以看到對這個檔案所有的提交。在不同的 revision 條目上“右鍵 -> Compare with working copy”,我們可以比較工作拷貝的檔案和所選 revision 版本的區別。 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.