一、VisualSVN Server的配置和使用方法【伺服器端】

安裝好VisualSVN Server後【安裝過程看這裡】,執行VisualSVN Server Manger,下面是啟動介面:

 

好的,下面我來新增一個程式碼庫【Repository】,如下圖:

按上圖所示,建立新的程式碼庫,在下圖所示的文字框中輸入程式碼庫名稱:

 

注意:上圖中的CheckBox如果選中,則在程式碼庫StartKit下面會建立trunk、branches、tags三個子目錄;不選中,則只建立空的程式碼庫StartKit。

點選OK按鈕,程式碼庫就建立成功了。

建立完程式碼庫後,沒有任何內容在裡面。我會在這個教程的第二部分說明如何遷入原始碼。

下面,我們開始安全性設定,在左側的Users上點選右鍵:

 

輸入上面的資訊,點選OK,我們就建立一個使用者了。按照上面的過程,分別新增使用者Developer1、tester1、manager1,好了,我們開始新增這些使用者到我們剛才建立的專案裡:

點選上圖中的"Add..."按鈕,在下圖中選擇我們剛才新增的使用者,點選OK按鈕:

說明:大家可能注意到了下圖中的Groups,是的,你也可以先建立組,把使用者新增到各個組中,然後對組進行授權,操作比較簡單,在此略過。

按照下圖所示,分別對使用者【或組】進行授權:

點選"確定"按鈕,上面的使用者就具有了訪問StartKit程式碼庫的不同許可權。

因為使用者starter在團隊中是新來者,不希望他向程式碼庫中提交新程式碼,所以他只能讀取代 碼庫中的程式碼,不能提交程式碼。tester1是測試人員,不負責程式碼編寫,所以也是隻讀許可權。而Developer1和manager1是開發人員和專案 經理,自然具有讀、寫的許可權。

在實際的專案開發過程中,Developer和tester往往不可能只有一個人,這時候使用組來授權更加方便,這個大家可以自己練習一下。

二、TotoiseSVN的基本使用方法

 

在 專案管理實踐教程一、工欲善其事,必先利其器【Basic Tools】中,我已經講解了怎樣安裝TortoiseSVN。在上面的講解中已經講了怎麼使用VisualSVN Server了,今天我要講的是,TortoiseSVN的簡單使用方法。

一、簽入原始碼到SVN伺服器

假如我們使用Visual Studio在資料夾StartKit中建立了一個專案,我們要把這個專案的原始碼簽入到SVN Server上的程式碼庫中裡,首先右鍵點選StartKit資料夾,這時候的右鍵選單如下圖所示:

圖2-2-1

點選Import,彈出下面的窗體,其中http://zt.net.henu.edu.cn 是伺服器名,svn是程式碼倉庫的根目錄,StartKit是我們在上個教程中新增的一個程式碼庫:

說明:左下角的CheckBox,在第一次簽入原始碼時沒有用,但是,在以後你提交程式碼的時候是非常有用的。

圖2-2-2

點選OK按鈕,會彈出下面的窗體,要求輸入憑據:

圖2-2-3

在上面的窗體中輸入使用者名稱和密碼,點選OK按鈕:

圖2-2-4

如上圖所示,好了,原始碼已經成功簽入SVN伺服器了。這時候團隊成員就可以遷出SVN伺服器上的原始碼到自己的機器了。

二、簽出原始碼到本機

在本機建立資料夾StartKit,右鍵點選Checkout,彈出如下圖的窗體:

圖2-2-5

在上圖中URL of Repository:下的文字框中輸入svn server中的程式碼庫的地址,其他預設,點選OK按鈕,就開始簽出原始碼了。

說明:上圖中的Checkout Depth,有4個選項,分別是遷出全部、只簽出下一級子目錄和檔案、只簽出檔案、只簽出空專案,預設的是第一項。上面的例子中,我們也可以使用web的方式訪問程式碼庫,在瀏覽器中輸入http://zt.net.henu.edu.cn/svn/StartKit/

這時候也會彈出對話方塊,要求輸入使用者名稱和密碼,通過驗證後即可瀏覽程式碼庫中的內容。

 

搞定!原始碼已經成功簽出到剛才新建的StartKit目錄中。

開啟StartKit目錄,可以看到如下圖的資料夾結構:

圖2-2-5

一旦你對檔案或資料夾做了任何修改,那麼檔案或資料夾的顯示圖片機會發生變化。下圖中我修改了其中的二個檔案:

圖2-2-7

大家看一下不同狀態所對應的圖片:

圖2-2-8

我們已經知道怎麼將原始碼簽入到SVN伺服器,怎麼從伺服器簽出程式碼到本機,也簡單瞭解了不同狀態所對應的圖案啦。

三、提交修改過的檔案到SVN伺服器

上面的圖2-2-7中,我修改了位於Model檔案中的二個檔案ImageInfo.cs和NewsInfo.cs,下面演示如何提交到SVN伺服器。

注意:提交原始碼到伺服器時,一定確保本機的程式碼是最新版本,否則可能提交失敗,或者造成版本衝突。

在Model資料夾上點選右鍵或在Model檔案下的空白處點選右鍵,點選SVN Commit…彈出下面的窗體:

圖2-2-9

點選OK按鈕後,彈出如下圖的窗體:

圖2-2-10

四、新增新檔案到SVN伺服器

我們在Model檔案下新增一個新的類檔案UserInfo.cs,在Model檔案下的空白處點選右鍵,點選SVN Commit…,和上面講的提交修改過的檔案到SVN伺服器一樣,就可以了。

另外也可以在檔案UserInfo.cs上點選右鍵,點選TortoiseSVN=>>Add,彈出如下圖的窗體:

圖2-2-11

選中UserInfo.cs檔案,點選OK按鈕,這樣並沒有將這個檔案提交到SVN伺服器,只是將這個檔案標記為原始碼庫庫中的檔案,並將其狀態置為修改狀態。之後,我們要再SVN Commit這個檔案一次,才可以將其真正提交到SVN伺服器上的程式碼庫中。

 

上面講是新增檔案,實際上,新增資料夾的步驟也是一樣的,這裡就不說了。

 

五、更新本機程式碼與SVN伺服器上最新的版本一致

這個也很簡單,只要在需要更新的資料夾上點選右鍵或在該檔案下的空白處點選右鍵,點選SVN Update,就可以了。

注意:更新操作可能會因為版本衝突而失敗,這是可以使用合併【Merge】或其他方法解決;也可能因為鎖定【Get Lock】而失敗,這是需要先解鎖【Release Lock】。

六、重新命名檔案或資料夾,並將修改提交到SVN伺服器

只要在需要重新命名的檔案或資料夾上點選右鍵,點選TortiseSVN=>& gt;Rename…,在彈出的窗體中輸入新名稱,點選OK按鈕,就可以了。此方法也不是直接重新命名,而是將該檔案或資料夾的名稱標記為重新命名後名稱,也 需要我們使用SVN Commit提交到SVN伺服器後才真正重新命名。

七、刪除檔案或資料夾,並將修改提交到SVN伺服器

最簡單就是,你直接刪除檔案或資料夾,然後使用SVN Commit提交更新到SVN伺服器。另外一種方法是在你要刪除的檔案或資料夾上點選右鍵=>>TortoiseSVN=>> Delete刪除,此方法也不是直接刪除,而是將該檔案或資料夾的狀態置為刪除,也需要我們使用SVN Commit提交到SVN伺服器後才真正刪除。

說明:實際上,從你把原始碼遷簽入SVN伺服器開始,每一個版本的資料和檔案,就算是你已經刪除了的,也都可以隨時遷出。