一篇不错的关于VSS的入门介绍
- 一篇不错的关于VSS的入门介绍 推荐度:
- 相关推荐
一篇不错的关于VSS的入门介绍
原文网址:.htm
Visual SourceSafe 入門教學
作者:蔡煥麟
日期:Sep-4-2003
摘要
本文介紹了版本管理的基本概念,以及 Visual SourceSafe 的基礎功能,目的在於希望提供一個能夠快速上手的入門指南,讓初學者能儘快將它用在專案管理上,同時也具備學習其他進階議題的基礎。
1. 簡介
在軟體工程的領域裡,有一塊叫做 SCM(Software Configuration Management),有人管它叫「軟體建構管理」。SCM 的傳統定義是原始碼的版本管理,後來則逐漸演進擴大,還包含了軟體開發的一些標準和程序的制定與應用 [Summerville 2000]。版本管理工具對目前的軟體開發開環境來說相當重要,因為不管是軟硬體環境的改變、需求改變、軟體本身的 bug...等等,都會令軟體不斷地演進,我們必須記錄各個版本,以便隨時比對版本之間的差異,或者回到(rollback to)過去的某個版本;此外,當專案小組成員眾多時,工作交接、多人修改同一個檔案等情況,都有可能造成檔案的版本混亂。例如一支程式本來由張三撰寫,可是因為某些原因(請假、臨時支援其他專案、請別人 debug....)暫時由李四修改,後來又交回給張三。如果用傳統的檔案共享機制,每次有這種情形就要互相通知:我改好囉,請把檔案從檔案伺服器搬回你家,萬一有人忘了,可能就會造成檔案版本錯亂,而東西交到客戶手上才發現 bug 依然存在。
因此,如果你曾碰過下列情形,而且深感困擾,你可能就需要版本管理工具的協助:
- 檔案不見了(用滑鼠拖放檔案時誤動作,不知道拖去哪兒放了);
- 檔案被別人覆蓋;
- 想要比對各版本之間有何差異;
- 想要回到之前修改的版本(客戶反覆無常,設計改來改去....);
- 多人同時修改造成的版本混亂;
- 想要知道誰動過的我的程式碼;
- 跨專案共享元件或模組散落在各處。
目前市場上的版本管理工具已經有很多,環肥燕瘦任君挑選,以下幾個可能是大家比較熟悉的:
- Rational Clear Case
- Borland StarTeam
- Merant PVCS Version Manager
- Microsoft Visual SourceSafe(VSS)
- Concurrent Versions System(CVS)
CVS 雖然免費,也有視窗介面,但是入門門檻還是偏高,不易入手,以 unix/linux 社群用得較多;StarTeam 和 ClearCase 功能較強大,價格當然也較貴;PVCS 個人也沒使用過,無法提供意見;而 Visual SourceSafe(VSS)功能雖然比較陽春,但是筆者試用之後,覺得如果只需要管理多人開發時的文件和原始碼版本,其實還挺好用的,也很容易上手。VSS 在 Visual Studio .NET 光碟中就有附了,價格算是相當實惠。以下是使用 VSS 管理原始碼的好處(有些不是 VSS 特有的):
- 建構人員可以實施每週的里程碑版本建立,統一編譯所有程式碼,確保交給客戶的版本一定是最新的,不會因為某個開發人員忘了把自家 local 的檔案複製到 server 的共享目錄而遺漏掉。
- leader 不用一天到晚打電話或發 mail 去追誰還沒有把新的檔案放上 file server。
- 共用單元的更新更簡便、確實。
- 提供獨立且細微的 user 權限控管,沒有 Windows 檔案分享時的帳戶權限檢查困擾。
- 同一個檔案多人同時修改可自動 merge 最後的修改成果。
- 可將歷史版本叫出來比對,顯示差異處,以進行合併或修正。
- 提供 Web 應用程式的檔案佈署功能。
- 可以和多種開發工具整合,例如:Visual Basic、Visual Studio .NET、FrontPage 200x。
註:撰寫此文件時,使用的是 VSS 版本是 Visual Studio .NET 1.0 附的 Visual SourceSafe 6.0c。
1.1 基本概念
想像一下沒有工具協助的情況下,當多人同時修改一份文件時,要如何確保文件的版本一致?
也許你可以指派一位專人負責管理文件的進出,這個人姑且就叫他 Manager 好了,Manager 待在一間小小的辦公室裡,負責文件庫的維護和文件的進出。當小組成員 Eric 要修改文件時,就拿磁片到這個窗口請 Manager 複製一份給他,Manager 在複製的同時會記下來:這份文件正由 Eric 修改;而 Eric 則會把磁片拿到他自己的機器上,把檔案複製到他的工作目錄(working folder),然後進行修改。等到 Eric 修改完畢,再從工作目錄中把檔案複製到磁片上交給 Manager,最後文件就被更新到文件庫中(這動作叫做 check in),至此整個文件的修改與更新的程序就完成了。如果在 Eric 修改期間,Vivid 也拿著磁片向 Manager 要求修改同一份文件,這時 Manager 會告訴 Vivid:這份文件目前已經由 Eric 領出(check out),且還在修改當中,你得等他改完才行喔。
以目前的作業環境來看,使用磁片來傳遞檔案似乎是原始人的行徑,我們當然可以透過網路來傳遞檔案,但是透過網路傳遞檔案卻無法提供上面的例子所要表達的重點:檔案的鎖定。而鎖定機制就是 VSS(或其他版本管理工具)提供的基本功能之一,它確保了多人修改文件時,版本的一致性。上面這個例子當中的文件庫,就相當於 VSS 的資料庫,而 VSS 的用戶端工具(稱為 VSS Explorer)則扮演了 Manager 的角色。
當然 VSS 提供的功能更多,它也允許多人同時取出(check out)同一個檔案進行修改,並且在將檔案送回(check in)資料庫時,自動進行合併(merge),這屬於比較進階的功能,稍後亦會提到。
現在你應該已經大概知道什麼是 VSS 資料庫、什麼是 check in、check out,以及文件修改的流程了,接下來就把一些常見的 VSS 術語列出來,在閱讀本文時,如果碰到不了解的術語,也可以隨時回頭查看。
以下是使用 VSS 時常見的術語:
術語 | 說明 |
VSS 資料庫 | VSS 會使用一個資料庫來儲存各專案的程式碼版本(包括歷史版本和最新版本的檔案)。 |
Project | VSS 專案,是一個專案檔案的邏輯結構,跟作業系統的目錄類似(注意不是指特殊開發工具的專案,例如:VB 專案)。 |
Working Folder | 用戶端的專案工作目錄。每次從 VSS 資料庫取出檔案時,就會將檔案複製用戶端機器的這個目錄下。 |
Master Copy | 儲存在 VSS 資料庫中的最新版的檔案。 |
Local Copy | 儲存在本機的 Working Folder 的版本。 |
Check Out | 把要修改的檔案從 Master Copy 複製一份到本機的 Working Folder 下,以便修改。 |
Check In | 本機的檔案修改完後,把檔案送回 VSS 資料庫。 |
Get | 只從 VSS 資料庫取得 Master Copy 的檔案,但是不做修改。當你要取得檔案的最新版,並且只對它讀取時,可使用此功能。 |
Multiple Checkouts | 一個檔案同時被多人取出修改。 |
Merge | 合併 Multiple Checkouts 的修改結果。 |
Shadow Folder | 影子目錄,它是一個硬碟上的實體目錄,每當開發人員 check in 檔案時,VSS 就會同時將檔案複製一份到這個影子目錄裡面。 |
2. 安裝與使用範例
本節分別介紹 server 端與 client 的安裝及使用。
2.1 伺服器端
伺服器端包含了管理工具和用戶端工具的安裝,相關的管理及設定工作有下列幾項:
- 安裝 VSS。
- 建立資料庫(使用 Admin 管理工具)。
- 建立 user 帳戶(使用 Admin 管理工具)。
- 設定其他選項。
- 設定網路的共用目錄。
以下是各項工作的施行細節,我們會在 D:\VSS_DB 目錄下建立一個新的 VSS 資料庫,如果你不想要建立資料庫,也可以使用預設的資料庫。
2.1.1 安裝 VSS
直接執行安裝程式,安裝過程中會有一個安裝選項畫面,其中有三個選項,分別為 SHARED DATABASE SERVER、CUSTOM、與 STAND-ALONE。請選擇 SHARED DATABASE SERVER。
安裝完成後,在〔開始\程式集〕裡面會有一個 Microsoft Visual SourceSafe 資料夾,裡面有四個程式捷徑:
- Analyse & Fix VSS DB
- Analyse VSS DB
- Microsoft Visual SourceSafe 6.0
- Visual SourceSafe 6.0 Admin
2.1.2 建立資料庫
開啟 Visual SourceSafe 6.0 Admin,如果是第一次執行,程式會提示你要設定 Admin 帳號的密碼,若此時不設定,以後也可以在〔Users\Change Password〕裡面變更 Admin 帳號的密碼。
進入 VSS Admin 之後,先點選〔Tools\Create Database〕建立一個自己的資料庫,建立資料庫時會同時建立一個預設的管理員帳戶 'Admin',此帳戶無法刪除。
一個資料庫裡面可以包含多個專案,當然你可以視需要建立多個資料庫,只是一次只能使用一個資料庫。
假設你將資料庫建立在 D:\VSS_DB 目錄。
2.1.3 建立使用者帳戶
資料庫建立好之後,必須先開啟資料庫,然後就可以為這個資料庫建立 user 帳號,以便日後為各個 user 賦予適當的檔案存取權限。這些 user 就是開發小組的成員。
欲開啟資料庫,請點選〔 Users\Open SourceSafe Database〕或者按 Ctrl+O,然後選擇上一個步驟建立的資料庫,如下圖:
如果之前建立的資料庫沒有顯示在清單裡面,請按右邊的 Browse 鈕找到該目錄(此動作只需一次),然後按 Open 鈕,即可開啟資料庫。
資料庫開啟後,點選〔Users\Add User〕或按 Ctrl+A 即可新增一名使用者。
2.1.4 設定其他選項
在 VSS Admin 中點選〔Tools\Options〕即可開啟選項設定視窗,其中有些設定在用戶端(VSS Explorer)裡面也有,而這裡的設定是全域的,也就是如果用戶端沒有修改自己的設定,就會取用這裡的設定。
建議的設定值(True/False 表示勾選/不勾選):
頁夾 項目名稱 設定值 General Use network name for automatic user log in True Project Rights Enable Rights and Assignments commands True
2.1.5 設定共享目錄
你至少要把 server 端的兩個目錄分享出來給其他網路使用者存取:
- 分享 VSS 的應用程式目錄,以便用戶端可以在網路上直接執行其中的 NetSetup.exe 進行安裝。
- 分享資料庫所在的目錄,如前面範例中的 D:\VSS_DB。
注意:
如果你在分享 VSS 的應用程式目錄時,把目錄權限設為「唯讀」的話,用戶端安裝完後將無法自動執行 VSS(但仍可手動執行);若目錄權限為「完全控制」則不會有這個現象。
2.2 用戶端
2.2.1 安裝用戶端
安裝用戶端程式的方法有兩種:
- 向管理員詢問伺服器端的 VSS 應用程式分享目錄,然後直接執行該目錄下的 NetSetup.exe`.
- 利用光碟安裝,安裝型態選擇 "Custom",然後選擇 "Client Programs"。
2.2.2 開啟資料庫
安裝完成後,執行 VSS Explorer(在「程式集」中的名稱是 "Microsoft Visual SourceSafe 6.0"),第一次執行時會出現登入視窗,輸入要登入的資料庫名稱(瀏覽網路上的芳鄰,找到 2.1.5 節所分享出來的資料庫目錄),然後輸入使用者名稱和密碼,即可登入資料庫。參考下圖:
VSS Admin 提供一個選項,可以在登入時自動以目前登入 Widnows 的使用者名稱來登入資料庫,前提是 VSS 的使用者名稱要和 Windows 的使者名稱相同。方法是將 VSS Admin 的〔Tools\Options〕的 "General" 頁夾中的 "Use network name for automatic user login" 項目打勾。以後再次執行 VSS Explorer 時,就會自動以該使用者名稱登入,而不會出現登入畫面。
2.2.3 建立專案
登入資料庫之後,由於是第一次執行,所以沒有建立任何專案,看到的畫面會像下面這張圖:
左邊是以樹狀顯示的專案面板,"$/" 是 VSS 的 root project,所有的專案都是建立在此節點之下;右邊會顯示目前的專案的檔案清單;下方狀態列中則顯示提示訊息、目前登入的使用者名稱、檔案的排序方式、以及檔案數量。
以下步驟示範如何建立一個專案,該專案的檔案目錄已經事先建立好,位置是 "D:\Projects\Demo1\",而且該目錄下已經存在所有文件和程式碼檔案。
- 在專案面板中的 $/ 節點上面點一下右鍵,然後點選〔Create Project...〕。在接下來開啟的視窗中輸入專案名稱 "Demo1",再按 Ok 鈕即可建立專案。
- 接著將檔案加入此專案節點。做法是在專案面板中的 "Demo1" 節點點一下,然後點選〔File\Add Files...〕或按 Ctrl+A。
- 接著將專案 Demo1 目錄下,要加入版本管理的子目錄加進來,例如:若要加入 Src 目錄,則照下圖方式操作:
注意必須雙擊欲加入的資料夾,使其圖示變成開啟的樣子,才是加入該資料夾。確定之後按 "Add" 鈕即可加入,加入資料夾的視窗左下角的 "Recursive" 項目通常會打勾,也就是該資料夾底下的子目錄也要一併加入。
Tip: 你也可以用滑鼠拖曳的方式加入檔案或資料夾。
Tip: 當你在加入檔案時,如果臨時要取消,可以按畫面方狀態列最左邊的〔Cancel〕鈕。事實上,只要是比較花時間的工作,都會出現〔Cancel〕鈕讓你有機會取消工作。
- 資料夾加入之後,程式會詢問你是否要將此資料夾設定為工作目錄(working folder),回答 "Yes" 即可。參考下列畫面:
此對話盒關閉後即會回加入資料夾的視窗,若不需要加入其他目錄,就按 "Close" 鈕關閉此視窗。 - 此時畫面應會顯示如下圖:
注意專案面板中的節點必須設定成工作目錄(working folder)才能夠對該目錄執行 check in/check out 動作,例如此範例中的 Demo1 節點,它是我們自行建立的邏輯專案,並未設定其工作目錄(也就是沒有對應到實體的目錄),因此當你點選 Demo1 節點時,右邊面板上方的狀態會顯示 "No Working Folder"。
如果你需要將 Demo1 目錄底下的所有目錄都納入 VSS 管理,也可以省略步驟 1,而在步驟 2 加入檔案時,直接開啟 "D:\Projects\Demo1" 資料夾,這樣就會連同 Demo1 這個目錄一併加入,且同時為它設定工作目錄。
2.2.4 設定工作目錄
建立專案之後,接著就是要設定工作目錄。首先,在 VSS Explorer 的專案面板裡面找到你的專案,在該項目上點一下滑鼠右鍵,再點選〔Set Working Folder...〕,把目錄指向你的本機硬碟的專案目錄即可。只要父層的節點有設定工作目錄,其下的子節點就不用再指定工作目錄了。
設定好工作目錄之後,就可以利用 VSS 執行 Check Out 或 Get 動作。如果你希望把整個專案的目錄和檔案都先從從伺服器取回來,並且複製到你的工作目錄下,你可以使用 Get;方法是在專案名稱上點一下滑鼠右鍵,再點選〔Get Latest Version...〕,此時會開啟一個對話視窗,如下圖所示:
注意左下角的 "Recursive" 項目,通常我們會希望連子目錄一併取回,所以要將此項目打勾。確定之後按〔OK〕鈕即可,遇到不存在的目錄,VSS 會問你要不要建立,選 "Yes All" 即可,完成之後,你可以開啟檔案總管,看一下工作目錄中的檔目錄結構,如果執行的步驟正確,你需要的專案檔案和目錄 VSS 應該都已經幫你從伺服器複製過來了。此動作並非必要,你可以等到你要讀取或修改某個檔案時,再去 Get 或 Check Out 該檔案,到時候 VSS 一樣會幫你建立必要的目錄。
如果你希望每次取得(get)或 check out 檔案時,"Recursive" 項目都要自動勾選,你可以在〔Tools\Options〕的 "General" 頁夾更改這個預設設定,參考下圖:
專案完成時,或者需要對現有版本進行建置與發行時,可以在伺服器的電腦上開啟 VSS Explorer,利用〔Get Lastest Version〕取得最新版本,你便可以在伺服器端進行建置或者備份專案的工作;或者,你也可以透過影子目錄(shadow folder)的功能,來達到相同的目的(參考 3.4 節)。
3. 其他功能
本節將介紹 VSS 的其他功能,包括:
- 多重 checkouts
- 檔案的共享(Share)與分枝(Branch)
- 影子目錄(Shadow Folder)
3.1 多重 checkouts
VSS 預設不允許多重 checkouts,也就是當一個檔案或目錄被一個使用者 check out 之後,其他使用者就不能再 check out 該檔案目錄。當你的小組可能為多人同時修改一個檔案,或多人同時修改一個目錄裡面的各個檔案時,可以將多重 checkouts 的功能開啟。設定方法是在 VSS Admin 管理工具裡面,將 〔Tools\Options〕的 "General" 頁夾裡的 "Allow multiple checkouts" 項目打勾。
使用多重 checkouts 時,有些值得特別注意的地方,例如:一個檔案由多人同修改時,VSS 將如何處理?以下將說明相關的注意事項。
文字檔 v.s. 進位檔
當你開啟多重 checkouts 選項時,表示有可能一個檔案同時由多人修改,而 VSS 能夠將這些人對同一個檔案的修改結果合併(merge)起來,每當一個使用者 check in 檔案時,VSS 就會自動進行 merge。也由於 VSS 提供了這項功能,因此限定只有文字檔(text files)才能夠多重 checkouts,二進位檔案(binary files)仍然是禁止的。VSS 會自動判斷檔案是屬於文字檔還是二進位檔(藉由搜尋二進位的 \0x0 字元),你也可以預先指定好哪些檔案類型是二進位檔,省得 VSS 還要花時間判斷;方法是:開啟 VSS Admin 的〔Tools\Options〕,切到 "File Types" 頁夾,把二進位檔案的附檔名加入 "Binary files" 欄位裡。參考下圖:
註:所謂的文字檔,通常是指可以用記事本開啟的純文字檔案,因此 WORD 文件(.DOC)檔案應該歸類為二進位檔案。
圖中的 File groups 清單裡面,筆者自行加入了 Delphi 專案會用到的檔案類型,這項設定是用在當你加入檔案時,顯示在檔案類型下拉盒中,方便你挑選檔案而已,如下圖:
其實大部分的情況下,用預設的 "*.*" 就行了。
合併機制
當一個檔案被多人 check out 時,每當有人將該檔案 check in,VSS 就會自動比對檔案的差異,並且合併有差異的部分。考慮下面的場景:
- 張三與李四都 check out 了 foo.txt 這個檔案。
- 張三修改了 foo.txt 的第 100 行,並且 check in。
- 李四修改了 foo.txt 的第 200 行,並且在 210 行的地方加入了 5 行程式碼。
- 李四改完了,並且 check in。
上面的例子對 VSS 來說毫無困難,它會安靜地自動合併張三和李四所做的修改。但不是所有情況都這麼完美,萬一兩個人都修改了同一行程式碼,此時 VSS 就無法替你做決定,必須由你自己決定怎樣合併檔案。考慮下面的場景:
- Carol 與 Michael 都把 test.txt 取出來修改。
- Carol 修改了第 1 行,然後 check in。
- Michael 也修改了第 1 行,然後 check in。
這時候 VSS 無法判定到底要怎麼合併,於是開啟視窗顯示兩個版本的差異,讓後面 check in 的人(Michael)決定怎麼合併,參考下圖:
圖中分為三個面板,左上角的面板是目前伺服器上的版本(上一個人 check out 的版本),右上角是本地端的版本,下方面板則是合併後的版本;此時 Michael 就可以從兩個版本中觀察差異的部分,決定好怎麼修改後,在左邊或右邊面板中點滑鼠右鍵,選擇〔Apply Change〕來把要改變的內容套用到下方面板。你也可以修改下方面板的文字內容,改好後按工具列的儲存鈕(磁片的圖示)即可。
附帶一提,你可以從 VSS Explorer 顯示的畫面看出一個檔案是否被多人取出修改。如下圖的 test.txt,在檔案名稱的左邊有兩個勾勾的圖示,而 User 欄則顯示最後一次 check out 的使用者名稱,後面加上 "..."。
值得採用嗎?
萬一 VSS 無法自動合併,手動合併似乎有點麻煩,這樣做值得嗎?還是乾脆不允許多重 checkouts?
筆者的建議是,只有當你真正碰到的時候,才把這個功能打開。舉例來說,在一個專案裡面,可能會有一些共用的程式碼,這些共用的程式碼平時可能由一個人維護,例如:AppUtils.cpp;但是也有可能別的程式設計師寫了一些共用的函式,為了避免共用的程式碼散亂在太多檔案裡面,於是他希望把自己寫的共用函式也放到 AppUtils.cpp 裡面,於是便形成了多人要維護同一個檔案的情形,此時就很適合使用多重 checkouts 了,因為雖然改的是同一個檔案,各人要改的部分會彼此衝突的情況不多,此時 VSS 將可以自動處理 90% 以上的合併。
3.2 檔案的共享(Share)與分枝(Branch)
你可以指定一個檔案讓多個專案共享,方法是在 VSS Explorer 的專案面板中,挑選要共享的目錄,注意不是分享出去的目錄,而是指你現在想要使用別人的共享檔案的那個專案目錄,在該目錄上點右鍵,再點選〔Share〕,這時候出現的視窗才是要挑選來源的共享檔案,在視窗中選好要共享的檔案,然後按〔Share〕即可。參考下圖:
檔案設定成共享之後,當你對共享檔案 check out,不管是提供共享檔案的來源專案,還是使用這些共享檔案的專案,其目錄下都會有一份共享檔案的拷貝,但是 VSS 保證這些檔案內容都會一致,VSS 透過 Share 的設定來維護各專案間共享檔案的連結,讓共享檔案維持一個版本。
你也可以透過分枝(Branch)的功能來切斷共享檔案的連結,這意味著你不要再跟別人共享這個檔案了,而希望保有獨立發展的版本。做法是在 VSS Explorer 的右邊面板中,點選要切斷共享關係的檔案,然後點選〔SourceSafe\Branch...〕,接著會出現視窗請你確認,按〔OK〕鈕即可。切斷共享關係之後,其他專案的共享關係依然存在,只有自己跟別人脫離關係而已。
3.3 影子目錄(Shadow Folder)
由於所有的修改記錄和最新版本的檔案都存在 VSS 資料庫中,如果其他人(例如:專案經理、系統分析師、建構師)經常需要讀取最新版的檔案,但是又不想要安裝 VSS,就可以使用 Shadow Folder 功能,讓這些人可以透過檔案總管的方式讀取檔案(只能讀取,不能修改)。設定 Shadow Folder 的方法是在 VSS Admin 工具中點選〔Tools\Options〕,然後切到 "Shadow Folders" 頁夾,先輸入要設定 shadow folder 的專案,你也可以點旁邊的〔Browse〕鈕,用滑鼠來選擇專案;接著輸入影子目錄的實體路徑名稱,設定完之後按〔確定〕鈕即可。如果你要一次設定多個專案的影子目錄,可以在每一個專案設定完後按〔Set Another〕鈕。參考下圖:
如果要取消影子目錄,只要先輸入專案名稱,然後把 "Set shadow folder to" 這個欄位清除就行了。
注意:
- 影子目錄通常是伺服器上的目錄,建議使用 UNC 路徑名稱,若使用像 "C:\Projects" 之類的本機磁碟機名稱,則每個使用者的機器上都會維護一份 Shadow Folder 檔案。
- 你必須確定每個開發人員都有權限存取影子目錄,否則當他們 check in 檔案時,就會出現錯誤。
4. 結語
最後,筆者整理出幾個使用 VSS 時的重點步驟及快速鍵(假設資料庫和使用者帳戶都已經建立好了):
- 登入 VSS 資料庫,開啟 VSS Explorer 時就會要求登入,也可以點選〔Files\Open SourceSafe Database...〕或按 Ctrl+P 來登入別的資料庫。
- 建立專案,〔File\Create Project...〕。
- 設定工作目錄,〔File\Set Working Folder...〕或按 Ctrl+D。
- 加入檔案,〔File\Add Files...〕或按 Ctrl+A。
- 取出檔案並修改,〔SourceSafe\Check Out〕或按 Ctrl+K。
- 修改完後送回伺服器,〔SourceSafe\Check In〕或按 Ctrl+U。
其中只有最後兩個步驟是開發人員經常執行的動作。
VSS 主要是依靠將檔案屬性設定成唯讀來提供檔案鎖定的機制,而其檔案傳遞的途徑則是透過傳統的 NetBIOS 和檔案共享機制,這使得 VSS 的應用範圍只能限制在區域網路內,如果能透過 TCP/IP 的方式傳輸檔案,適用的範圍會更廣,也會更方便 [註1]。
透過本文的介紹,筆者希望能讓你對 VSS 有一個初步的了解,並且能很快地學習如何使用它,當你真正開始使用它,就會逐漸發現一些新的或者一些比較細節的東西,此時再到網路上尋找解答,這樣可能會比讀完很多份文件以後才開始安裝使用要來得快一些。如果你要更深入了解 VSS,可以參考文後列出來的參考資料,微軟網站上亦提供了相當豐富的文件,從這個網址進入: / ,裡面有 VSS 的最新消息和大量的技術文章、教學文件,你可以從這些文件裡獲得對 VSS 更完整的認識,並且學習一些進階的管理議題,例如:VSS 資料庫的保全、分析、修復、與備份;VSS 的自動化(automation);與其他 IDE 工具的整合等等。在學習使用的過程中如果碰到問題,可以利用網路論壇來尋求解答,這裡列出幾個供讀者參考:
- Visual SourceSafe Newsgroup. .asp?url=/newsgroups/loadframes.asp?icp=msdn&slcid=us&newsgroup=microsoft.public.vstudio.sourcesafe.
- Tek-Tips Forums. .cfm?SPID=722.
- CodeGuru Forums - Visual SourceSafe. .php?threadid=252820.
備註
註1. 你可以加裝 sourcegear 的 sourceoffsite 來達到跨 Internet 的檔案存取,該公司的網址是 /。
參考資料
- Ian Summerville, "Software Engineering," Sixth Edition, Addison-Wesley, 2000.
- Ted Roche, "Essential SourceSafe," Hentzenwerke Publishing, 2001.
- Microsoft Visual SourceSafe 6.0 online help.
- Microsoft Visual SourceSafe home. /.