Visual SourceSafe 入学指南
上一篇 / 下一篇 2008-09-08 10:58:10 / 个人分类:研发资料
k[w)eg/XO*S0摘要51Testing软件测试网rMW:{-a8nE
51Testing软件测试网'pT\%YM%Rp(~v本文介紹了版本管理的基本概念,以及VisualSourceSafe的基礎功能,目的在於希望提供一個能夠快速上手的入門指南,讓初學者能儘快將它用在專案管理上,同時也具備學習其他進階議題的基礎。
51Testing软件测试网(b0fqZ3F_N}hR/?%~
51Testing软件测试网U6o+_xmv8W
1. 簡介
&g6[&a!W5KQ)U;T0在軟體工程的領域裡,有一塊叫做 SCM(Software Configuration Management),有人管它叫「軟體建構管理」。SCM 的傳統定義是原始碼的版本管理,後來則逐漸演進擴大,還包含了軟體開發的一些標準和程序的制定與應用 [Summerville 2000]。版本管理工具對目前的軟體開發開環境來說相當重要,因為不管是軟硬體環境的改變、需求改變、軟體本身的 bug...等等,都會令軟體不斷地演進,我們必須記錄各個版本,以便隨時比對版本之間的差異,或者回到(rollback to)過去的某個版本;此外,當專案小組成員眾多時,工作交接、多人修改同一個檔案等情況,都有可能造成檔案的版本混亂。例如一支程式本來由張三撰寫,可是因為某些原因(請假、臨時支援其他專案、請別人 debug....)暫時由李四修改,後來又交回給張三。如果用傳統的檔案共享機制,每次有這種情形就要互相通知:我改好囉,請把檔案從檔案伺服器搬回你家,萬一有人忘了,可能就會造成檔案版本錯亂,而東西交到客戶手上才發現 bug 依然存在。
8g.g-c!Is!H&~j4S051Testing软件测试网+y7PQ2CCt"G因此,如果你曾碰過下列情形,而且深感困擾,你可能就需要版本管理工具的協助:
Up*p}b\n0- 檔案不見了(用滑鼠拖放檔案時誤動作,不知道拖去哪兒放了);
- 檔案被別人覆蓋;
- 想要比對各版本之間有何差異;
- 想要回到之前修改的版本(客戶反覆無常,設計改來改去....);
- 多人同時修改造成的版本混亂;
- 想要知道誰動過的我的程式碼;
- 跨專案共享元件或模組散落在各處。
q(D\+BO,[ ~0目前市場上的版本管理工具已經有很多,環肥燕瘦任君挑選,以下幾個可能是大家比較熟悉的:51Testing软件测试网vR,\2Df%Sy|"p
- RationalClear 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 特有的):
Wu/tK BD]-g Y[0- 建構人員可以實施每週的里程碑版本建立,統一編譯所有程式碼,確保交給客戶的版本一定是最新的,不會因為某個開發人員忘了把自家 local 的檔案複製到server的共享目錄而遺漏掉。
- leader 不用一天到晚打電話或發 mail 去追誰還沒有把新的檔案放上 file server。
- 共用單元的更新更簡便、確實。
- 提供獨立且細微的 user 權限控管,沒有Windows檔案分享時的帳戶權限檢查困擾。
- 同一個檔案多人同時修改可自動 merge 最後的修改成果。
- 可將歷史版本叫出來比對,顯示差異處,以進行合併或修正。
- 提供 Web 應用程式的檔案佈署功能。
- 可以和多種開發工具整合,例如:Visual Basic、Visual Studio .NET、FrontPage 200x。
|;p&Z3eU0PA+A;BY3[0註:撰寫此文件時,使用的是 VSS 版本是 Visual Studio .NET 1.0 附的 Visual SourceSafe 6.0c。51Testing软件测试网 gI K o0_Xu
1.1 基本概念
51Testing软件测试网^|BS.sXK4k^L想像一下沒有工具協助的情況下,當多人同時修改一份文件時,要如何確保文件的版本一致?
6D+`w5I#r,x {{AS Q0ZkfQv0也許你可以指派一位專人負責管理文件的進出,這個人姑且就叫他 Manager 好了,Manager 待在一間小小的辦公室裡,負責文件庫的維護和文件的進出。當小組成員 Eric 要修改文件時,就拿磁片到這個窗口請 Manager 複製一份給他,Manager 在複製的同時會記下來:這份文件正由 Eric 修改;而 Eric 則會把磁片拿到他自己的機器上,把檔案複製到他的工作目錄(working folder),然後進行修改。等到 Eric 修改完畢,再從工作目錄中把檔案複製到磁片上交給 Manager,最後文件就被更新到文件庫中(這動作叫做 check in),至此整個文件的修改與更新的程序就完成了。如果在 Eric 修改期間,Vivid 也拿著磁片向 Manager 要求修改同一份文件,這時 Manager 會告訴 Vivid:這份文件目前已經由 Eric 領出(check out),且還在修改當中,你得等他改完才行喔。
jo_+yU4|0'q^mHR0以目前的作業環境來看,使用磁片來傳遞檔案似乎是原始人的行徑,我們當然可以透過網路來傳遞檔案,但是透過網路傳遞檔案卻無法提供上面的例子所要表達的重點:檔案的鎖定。而鎖定機制就是 VSS(或其他版本管理工具)提供的基本功能之一,它確保了多人修改文件時,版本的一致性。上面這個例子當中的文件庫,就相當於 VSS 的資料庫,而 VSS 的用戶端工具(稱為 VSS Explorer)則扮演了 Manager 的角色。51Testing软件测试网b,\ Y T,b;uN
51Testing软件测试网*~S?Z,_+@~k,zC當然 VSS 提供的功能更多,它也允許多人同時取出(check out)同一個檔案進行修改,並且在將檔案送回(check in)資料庫時,自動進行合併(merge),這屬於比較進階的功能,稍後亦會提到。
/J:`!XX_Q:J$p"B.x051Testing软件测试网|k(J@2_現在你應該已經大概知道什麼是 VSS 資料庫、什麼是 check in、check out,以及文件修改的流程了,接下來就把一些常見的 VSS 術語列出來,在閱讀本文時,如果碰到不了解的術語,也可以隨時回頭查看。
z*N.K y`;g,i n @0La7~ IPF }0以下是使用 VSS 時常見的術語:51Testing软件测试网eB!g4]X~
術語 | 說明 |
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. 安裝與使用範例
,l)y9HQI1p NR0本節分別介紹 server 端與 client 的安裝及使用。51Testing软件测试网p6I n/R;T.i
2.1 伺服器端
51Testing软件测试网lIx`6C1@e伺服器端包含了管理工具和用戶端工具的安裝,相關的管理及設定工作有下列幾項:51Testing软件测试网)TTXW S{
- 安裝 VSS。
- 建立資料庫(使用 Admin 管理工具)。
- 建立 user 帳戶(使用 Admin 管理工具)。
- 設定其他選項。
- 設定網路的共用目錄。
以下是各項工作的施行細節,我們會在 D:\VSS_DB 目錄下建立一個新的 VSS 資料庫,如果你不想要建立資料庫,也可以使用預設的資料庫。
3S3sR]i02.1.1 安裝 VSS
51Testing软件测试网KNhJ9XbNv%^"qf9y直接執行安裝程式,安裝過程中會有一個安裝選項畫面,其中有三個選項,分別為 SHARED DATABASE SERVER、CUSTOM、與 STAND-ALONE。請選擇 SHARED DATABASE SERVER。
"c-P1|,AW2W051Testing软件测试网h0iPHJ安裝完成後,在〔開始\程式集〕裡面會有一個 Microsoft Visual SourceSafe 資料夾,裡面有四個程式捷徑:51Testing软件测试网 Q)rgR l&{)]&hH
- Analyse & Fix VSS DB
- Analyse VSS DB
- Microsoft Visual SourceSafe 6.0
- Visual SourceSafe 6.0 Admin
2.1.2 建立資料庫
51Testing软件测试网Ic"OJO6rQ開啟 Visual SourceSafe 6.0 Admin,如果是第一次執行,程式會提示你要設定 Admin 帳號的密碼,若此時不設定,以後也可以在〔Users\Change Password〕裡面變更 Admin 帳號的密碼。51Testing软件测试网 b*}L*` G:s`4P
51Testing软件测试网 s N#C2D6J#G進入 VSS Admin 之後,先點選〔Tools\Create Database〕建立一個自己的資料庫,建立資料庫時會同時建立一個預設的管理員帳戶 'Admin',此帳戶無法刪除。
Q[0j'wg.gSC,R*B051Testing软件测试网7a!s'TZMmK一個資料庫裡面可以包含多個專案,當然你可以視需要建立多個資料庫,只是一次只能使用一個資料庫。51Testing软件测试网x'V5Q$t%qz:R
8o2J/k P#^{0假設你將資料庫建立在 D:\VSS_DB 目錄。51Testing软件测试网~|M*Kk
2.1.3 建立使用者帳戶
資料庫建立好之後,必須先開啟資料庫,然後就可以為這個資料庫建立 user 帳號,以便日後為各個 user 賦予適當的檔案存取權限。這些 user 就是開發小組的成員。!yh zQ^uE)^6D0欲開啟資料庫,請點選〔 Users\Open SourceSafe Database〕或者按 Ctrl+O,然後選擇上一個步驟建立的資料庫,如下圖:
r(e-n7{(K4h:Xz4w/jc0"b8eH,jp8}*x D051Testing软件测试网"s.y'Kq|#N0|
&o V-C"?E0如果之前建立的資料庫沒有顯示在清單裡面,請按右邊的 Browse 鈕找到該目錄(此動作只需一次),然後按 Open 鈕,即可開啟資料庫。51Testing软件测试网y hV1T8wNVD
6|+YI r3^f0資料庫開啟後,點選〔Users\Add User〕或按 Ctrl+A 即可新增一名使用者。51Testing软件测试网 G4d%D{$U([ X
2.1.4 設定其他選項
在 VSS Admin 中點選〔Tools\Options〕即可開啟選項設定視窗,其中有些設定在用戶端(VSS Explorer)裡面也有,而這裡的設定是全域的,也就是如果用戶端沒有修改自己的設定,就會取用這裡的設定。zM:et3w TmTnG0建議的設定值(True/False 表示勾選/不勾選):
5ui9lfyX0
頁夾 項目名稱 設定值 General Use network name for automatic user log in True Project Rights Enable Rights and Assignments commands True
2.1.5 設定共享目錄
H*OMGRhe0你至少要把 server 端的兩個目錄分享出來給其他網路使用者存取:
$raZ!^#wcj-mwA0- 分享 VSS 的應用程式目錄,以便用戶端可以在網路上直接執行其中的 NetSetup.exe 進行安裝。
- 分享資料庫所在的目錄,如前面範例中的 D:\VSS_DB。
注意:51Testing软件测试网#|5f!jA4n[ o"cp
51Testing软件测试网z.`KT,U3h(Z;D如果你在分享 VSS 的應用程式目錄時,把目錄權限設為「唯讀」的話,用戶端安裝完後將無法自動執行 VSS(但仍可手動執行);若目錄權限為「完全控制」則不會有這個現象。
2SG/` nL%]0
2.2 用戶端
2.2.1 安裝用戶端
4B9Nse&p-J hX6k0安裝用戶端程式的方法有兩種:51Testing软件测试网st#A4T)f1Q
- 向管理員詢問伺服器端的 VSS 應用程式分享目錄,然後直接執行該目錄下的 NetSetup.exe`.
- 利用光碟安裝,安裝型態選擇 "Custom",然後選擇 "Client Programs"。
2.2.2 開啟資料庫
9G[3cq+W G6{0安裝完成後,執行 VSS Explorer(在「程式集」中的名稱是 "Microsoft Visual SourceSafe 6.0"),第一次執行時會出現登入視窗,輸入要登入的資料庫名稱(瀏覽網路上的芳鄰,找到 2.1.5 節所分享出來的資料庫目錄),然後輸入使用者名稱和密碼,即可登入資料庫。參考下圖:51Testing软件测试网wEr;U6H#L'r
51Testing软件测试网8n!{VC/p2I8O H,vc51Testing软件测试网^$_i Ib51Testing软件测试网$s0NNnUBW
VSS Admin 提供一個選項,可以在登入時自動以目前登入 Widnows 的使用者名稱來登入資料庫,前提是 VSS 的使用者名稱要和 Windows 的使者名稱相同。方法是將 VSS Admin 的〔Tools\Options〕的 "General" 頁夾中的 "Use network name for automatic user login" 項目打勾。以後再次執行 VSS Explorer 時,就會自動以該使用者名稱登入,而不會出現登入畫面。
VS&Y?d4C(m02.2.3 建立專案
51Testing软件测试网r3x%|Y#d登入資料庫之後,由於是第一次執行,所以沒有建立任何專案,看到的畫面會像下面這張圖:
Qb8];v9x;l&])Q051Testing软件测试网 pMG${)dx;~ su9]51Testing软件测试网d7H _QqLA51Testing软件测试网_!Wwli
左邊是以樹狀顯示的專案面板,"$/" 是 VSS 的 root project,所有的專案都是建立在此節點之下;右邊會顯示目前的專案的檔案清單;下方狀態列中則顯示提示訊息、目前登入的使用者名稱、檔案的排序方式、以及檔案數量。
Wq u2[]@ X*F051Testing软件测试网9K'zJ5JV`以下步驟示範如何建立一個專案,該專案的檔案目錄已經事先建立好,位置是 "D:\Projects\Demo1\",而且該目錄下已經存在所有文件和程式碼檔案。51Testing软件测试网K-fr(aDo
- 在專案面板中的 $/ 節點上面點一下右鍵,然後點選〔Create Project...〕。在接下來開啟的視窗中輸入專案名稱 "Demo1",再按 Ok 鈕即可建立專案。
- 接著將檔案加入此專案節點。做法是在專案面板中的 "Demo1" 節點點一下,然後點選〔File\Add Files...〕或按 Ctrl+A。
- 接著將專案 Demo1 目錄下,要加入版本管理的子目錄加進來,例如:若要加入 Src 目錄,則照下圖方式操作:51Testing软件测试网~/Vj"U9m4h51Testing软件测试网}0\F$H
yuj
l4M{7U-YuxD`(N176729
R FtK?,E8Ct0Adt5Uks176729_;u6I*`}n(l*O#?17672951Testing软件测试网*Dc&aG` rx51Testing软件测试网Cj9{3e5f+f2jS[
"bCDQ$T0PTy r17672951Testing软件测试网l$P J [1~*U9]2geHZ
yK&W$Dlzs1767297P2~rSV/O.vU176729注意必須雙擊欲加入的資料夾,使其圖示變成開啟的樣子,才是加入該資料夾。確定之後按 "Add" 鈕即可加入,加入資料夾的視窗左下角的 "Recursive" 項目通常會打勾,也就是該資料夾底下的子目錄也要一併加入。51Testing软件测试网R(U `H2N6t0t$l51Testing软件测试网e:~)eyk4E c
9~Cc(wYc5\,n6f17672951Testing软件测试网G5H3p4@iTr!rh51Testing软件测试网:O Z?9`j'D3}2H51Testing软件测试网;i*N0lK:k
Tip: 你也可以用滑鼠拖曳的方式加入檔案或資料夾。51Testing软件测试网.dQ6\]_
+c_Z9{ f0\y%HO| `?h176729Tip: 當你在加入檔案時,如果臨時要取消,可以按畫面方狀態列最左邊的〔Cancel〕鈕。事實上,只要是比較花時間的工作,都會出現〔Cancel〕鈕讓你有機會取消工作。51Testing软件测试网&vY['Fd$~ OQh
8j^G'xGE0A:utH*T0q f)Y;N176729 - 資料夾加入之後,程式會詢問你是否要將此資料夾設定為工作目錄(working folder),回答 "Yes" 即可。參考下列畫面:51Testing软件测试网_%Ne npx51Testing软件测试网qD%coVR8g
A{5Hc%U+M!\17672951Testing软件测试网Ji K&h9RWt
V]4J,K)_L5QL8T0v:^2M;t~5XaIp5}U,h17672951Testing软件测试网&q qpFX3u4X[q!R7V51Testing软件测试网 ZZ!QD{+t~1u
.U R`?qv+AINV176729
*`}.|7@ H'~0G P-T`Sq176729G|m'O O6x176729此對話盒關閉後即會回加入資料夾的視窗,若不需要加入其他目錄,就按 "Close" 鈕關閉此視窗。 - 此時畫面應會顯示如下圖:51Testing软件测试网i6UhxJ-Z5U51Testing软件测试网9n/~]d3blaVb!Q
e(XLpu176729
^"`Z { N!rs+@u0i0B2Of:En.Tb T176729vH4N pk5N0k17672951Testing软件测试网 rW @6Ii&v0g2w#m51Testing软件测试网/LIU'Zl V&Hs\)Y$z
!qF#E4` l(ZP176729
K;ncO:mjK+J0IMc7I[ Xz*X}#l176729X'D,{V+|8U%s:C^t176729注意專案面板中的節點必須設定成工作目錄(working folder)才能夠對該目錄執行 check in/check out 動作,例如此範例中的 Demo1 節點,它是我們自行建立的邏輯專案,並未設定其工作目錄(也就是沒有對應到實體的目錄),因此當你點選 Demo1 節點時,右邊面板上方的狀態會顯示 "No Working Folder"。51Testing软件测试网"dpU/cD0Bz n51Testing软件测试网s-]3W)y$K,B2B8e(xc
_ V~LKM17672951Testing软件测试网,|$a9^#s'?1d'M
mDL~~l0G1767297B5tr.VN*a176729如果你需要將 Demo1 目錄底下的所有目錄都納入 VSS 管理,也可以省略步驟 1,而在步驟 2 加入檔案時,直接開啟 "D:\Projects\Demo1" 資料夾,這樣就會連同 Demo1 這個目錄一併加入,且同時為它設定工作目錄。51Testing软件测试网;oP/c,|uT'y1}VN)m
I;B M1kLX1767296^@khT0W176729
2.2.4 設定工作目錄
-P:hiHC(t I0建立專案之後,接著就是要設定工作目錄。首先,在 VSS Explorer 的專案面板裡面找到你的專案,在該項目上點一下滑鼠右鍵,再點選〔Set Working Folder...〕,把目錄指向你的本機硬碟的專案目錄即可。只要父層的節點有設定工作目錄,其下的子節點就不用再指定工作目錄了。51Testing软件测试网'S Kle,T
9U+p4w|[;?&N0設定好工作目錄之後,就可以利用 VSS 執行 Check Out 或 Get 動作。如果你希望把整個專案的目錄和檔案都先從從伺服器取回來,並且複製到你的工作目錄下,你可以使用 Get;方法是在專案名稱上點一下滑鼠右鍵,再點選〔Get Latest Version...〕,此時會開啟一個對話視窗,如下圖所示:
ni]k:u&K(A9c051Testing软件测试网"@^&ZS!z#N oa&t*D51Testing软件测试网mzAJa.[$c*o51Testing软件测试网9OJf7?3B&}8~d
注意左下角的 "Recursive" 項目,通常我們會希望連子目錄一併取回,所以要將此項目打勾。確定之後按〔OK〕鈕即可,遇到不存在的目錄,VSS 會問你要不要建立,選 "Yes All" 即可,完成之後,你可以開啟檔案總管,看一下工作目錄中的檔目錄結構,如果執行的步驟正確,你需要的專案檔案和目錄 VSS 應該都已經幫你從伺服器複製過來了。此動作並非必要,你可以等到你要讀取或修改某個檔案時,再去 Get 或 Check Out 該檔案,到時候 VSS 一樣會幫你建立必要的目錄。51Testing软件测试网v/R7A&@7L{?'d
51Testing软件测试网`&Z+\'lm!K,k%]+N如果你希望每次取得(get)或 check out 檔案時,"Recursive" 項目都要自動勾選,你可以在〔Tools\Options〕的 "General" 頁夾更改這個預設設定,參考下圖:51Testing软件测试网;dOmB9K
W'L6^G(X4I@mARk051Testing软件测试网E3x(e_)?+R
%uh-fvnnx(f%o0專案完成時,或者需要對現有版本進行建置與發行時,可以在伺服器的電腦上開啟 VSS Explorer,利用〔Get Lastest Version〕取得最新版本,你便可以在伺服器端進行建置或者備份專案的工作;或者,你也可以透過影子目錄(shadow folder)的功能,來達到相同的目的(參考 3.4 節)。51Testing软件测试网l;GS5dv x ch
3. 其他功能
51Testing软件测试网Z)z$`k"y,Xn z本節將介紹 VSS 的其他功能,包括:51Testing软件测试网j_"FV r u4I3a
- 多重 checkouts
- 檔案的共享(Share)與分枝(Branch)
- 影子目錄(Shadow Folder)
3.1 多重 checkouts
51Testing软件测试网4v~:n\:v+~OVSS 預設不允許多重 checkouts,也就是當一個檔案或目錄被一個使用者 check out 之後,其他使用者就不能再 check out 該檔案目錄。當你的小組可能為多人同時修改一個檔案,或多人同時修改一個目錄裡面的各個檔案時,可以將多重 checkouts 的功能開啟。設定方法是在 VSS Admin 管理工具裡面,將 〔Tools\Options〕的 "General" 頁夾裡的 "Allow multiple checkouts" 項目打勾。
)PB`-H"XX051Testing软件测试网x9bpEd;`n#Xv使用多重 checkouts 時,有些值得特別注意的地方,例如:一個檔案由多人同修改時,VSS 將如何處理?以下將說明相關的注意事項。
K8b$AK8HK:~0文字檔 v.s. 進位檔
Z-n4ao%O+pVH1b!`0當你開啟多重 checkouts 選項時,表示有可能一個檔案同時由多人修改,而 VSS 能夠將這些人對同一個檔案的修改結果合併(merge)起來,每當一個使用者 check in 檔案時,VSS 就會自動進行 merge。也由於 VSS 提供了這項功能,因此限定只有文字檔(text files)才能夠多重 checkouts,二進位檔案(binary files)仍然是禁止的。VSS 會自動判斷檔案是屬於文字檔還是二進位檔(藉由搜尋二進位的 \0x0 字元),你也可以預先指定好哪些檔案類型是二進位檔,省得 VSS 還要花時間判斷;方法是:開啟 VSS Admin 的〔Tools\Options〕,切到 "File Types" 頁夾,把二進位檔案的附檔名加入 "Binary files" 欄位裡。參考下圖:51Testing软件测试网"jm%G:? p$G
*[/Tnx1|XQ$D051Testing软件测试网*`;B&h_l
MzA/Wb w+T~6kP t/b0註:所謂的文字檔,通常是指可以用記事本開啟的純文字檔案,因此 WORD 文件(.DOC)檔案應該歸類為二進位檔案。
'b\Q)?dna0yw051Testing软件测试网!u&}$w9u*G W(Y*t[,]z圖中的 File groups 清單裡面,筆者自行加入了 Delphi 專案會用到的檔案類型,這項設定是用在當你加入檔案時,顯示在檔案類型下拉盒中,方便你挑選檔案而已,如下圖:51Testing软件测试网3Z#w(|(N#{ x d3|
51Testing软件测试网!r&@e7\)mQ3V51Testing软件测试网 W9Bi&sT VW
`z&@}r.j8\6nj[~0其實大部分的情況下,用預設的 "*.*" 就行了。51Testing软件测试网 @aF:V*s3z
合併機制
5KI Z"og0當一個檔案被多人 check out 時,每當有人將該檔案 check in,VSS 就會自動比對檔案的差異,並且合併有差異的部分。考慮下面的場景:
;R!F1X;{eP CB0- 張三與李四都 check out 了 foo.txt 這個檔案。
- 張三修改了 foo.txt 的第 100 行,並且 check in。
- 李四修改了 foo.txt 的第 200 行,並且在 210 行的地方加入了 5 行程式碼。
- 李四改完了,並且 check in。
上面的例子對 VSS 來說毫無困難,它會安靜地自動合併張三和李四所做的修改。但不是所有情況都這麼完美,萬一兩個人都修改了同一行程式碼,此時 VSS 就無法替你做決定,必須由你自己決定怎樣合併檔案。考慮下面的場景:
;m8R.zMGp*K0