Visual SourceSafe簡明培訓教程_第1頁
Visual SourceSafe簡明培訓教程_第2頁
Visual SourceSafe簡明培訓教程_第3頁
Visual SourceSafe簡明培訓教程_第4頁
Visual SourceSafe簡明培訓教程_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、1 說明一、本教程針對不同使用對象提供Visual SourceSafe 6.0的若干使用指導,閱讀對象包括Visual SourceSafe的管理員和普通用戶,以及希望了解如何采用Visual SourceSafe進行軟件版本控制的管理人員。管理員或普通用戶在使用Visual SourceSafe的過程中,如果遇到不知如何操作,或者對某些操作的注意事項不甚了解等類似情況時,可以查閱本教程。二、本教程的"管理員部分"是管理員必讀的,如果管理員在除履行其自身職責之外,還兼任普通用戶的角色,則可以參閱教程中的"普通用戶部分"。作為一般的普通用戶,只需閱讀&q

2、uot;普通用戶部分"即可。三、教程中列舉的操作,加星號者,為高級用法(Advanced Usage),其余為基本用法(Basic Usage)。所謂基本用法是指一些通常使用頻繁的,或者是使用方法較為簡單的操作。所謂高級用法是指通常使用頻率不多,或者較為重要的,或者用法復雜的操作。四、本教程內容摘選并改編自Visual SourceSafe 6.0英文版聯機幫助,從中提取了諸多重要信息、容易忽略的內容以及若干注意事項。一些基本內容(主要指某些基本操作的使用方法)只簡單列舉了條目,欲了解這些條目的詳細情況請查看聯機幫助的相關部分,可以通過列于這些條目之后的英文說明在聯機幫助中搜索到相關

3、內容。五、本教程不涉及Visual SourceSafe圖形用戶界面操作的解釋說明,對指定功能的具體操作步驟請查看聯機幫助的相關部分??梢酝ㄟ^列于該功能之后的英文說明在聯機幫助中搜索到相關內容。六、在其他Visual Studio產品中(例如:Visual C+)可以集成Visual SourceSafe的功能,本教程不涉及有關在其他集成開發(fā)環(huán)境下如何使用Visual SourceSafe功能的內容,這部分內容主要針對普通用戶。對這些內容的了解,在閱讀完本教程之后,將會變得容易。此外,某些操作在Visual SourceSafe環(huán)境下使用更為方便。2 概述Visual SourceSafe(以

4、下簡稱VSS)是一種版本控制管理工具。它通過將各種類型的文件(包括:文本文件、圖像文件、二進制文件、聲音文件、視頻文件等)存入其內部數據庫的方式,幫助你有效地管理工程(Project,關于VSS中工程的概念請見下面)。它允許你在多個工程間共享同一組文件;你可以將一個文件添加到數據庫中,以便其他相關人員使用;任何對文件的更改將被記錄下來,以便在任何時候可以恢復到該文件的某個舊版本。VSS的工程組織方式使團隊協(xié)作開發(fā)變得更為容易和直觀。一個工程是一組存放于VSS數據庫內的任意類型的文件,一個工程類似于操作系統(tǒng)中的目錄,但VSS為其提供了版本控制、歷史記錄、文件合并等更多的功能支持。3 管理員部分3

5、.1 維護用戶列表(Maintain the User List)3.1.1 添加用戶(Add a User)此處略,詳細內容請查閱聯機幫助。3.1.2 更改密碼(Change Passwords)此處略,詳細內容請查閱聯機幫助。3.1.3 創(chuàng)建用戶列表(Create a User List)此處略,詳細內容請查閱聯機幫助。3.1.4 刪除用戶(Delete a User)此處略,詳細內容請查閱聯機幫助。3.1.5 編輯用戶屬性(Edit User Attributes)此處略,詳細內容請查閱聯機幫助。3.2 管理數據庫(Manage the Database)3.2.1 分析數據目錄(Ana

6、lyze the Data Folder)*建議你定期備份完整的VSS數據目錄(參見數據庫打包)。VSS數據目錄中包含有全部工程和文件的數據庫信息。由于網絡或操作系統(tǒng)的某些故障,VSS中的文件可能存在錯誤和不一致問題,Analyze VSS DB工具被用來查找和修復這些問題。在運行該工具前,需要鎖定(Lock)所有用戶并要求他們退出VSS,用戶可以在一個數據庫被鎖定時保持文件的簽出狀態(tài)(參見鎖定數據庫)。建議分兩次運行Analyze VSS DB工具,第一次修復錯誤,第二次核查是否仍然存在沒有被修復的錯誤。數據目錄的具體位置是由Data_Path初始化變量在SRCSAFE.INI文件中指定的(

7、參見定制SS.INI和SRCSAFE.INI文件)。3.2.2 數據庫打包(Archive Databases)*你可能需要定期地備份VSS數據庫,或者數據庫的某一部分。VSS Administrator工具提供了此項功能。它可以: · 節(jié)省VSS數據庫服務器的磁盤空間。 · 加快顯示歷史記錄操作(Show History)的速度。 · 便于在多個VSS數據庫間傳遞文件和工程,保持歷史記錄完整無缺。 · 備份全部或部分VSS數據庫內容并壓縮成文件。 3.2.3 清除臨時目錄(Clean Temporary Folder)VSS通常在運行時把臨時結果放在臨

8、時目錄里,并在退出前將之刪除。由于某些原因,例如非正常重啟,可能導致臨時內容殘留在目錄中。作為管理員,你有責任定期清除臨時目錄的內容。每隔幾周一次,當沒有任何用戶運行VSS或VSS Administrator時,請清除臨時目錄的內容。臨時目錄的具體位置是由Temp_Path初始化變量在SRCSAFE.INI文件中指定的(參見定制SS.INI和SRCSAFE.INI文件)。3.2.4 鎖定數據庫(Lock a Database)數據庫鎖定功能將不會自動鎖定那些當前已經登錄的用戶,你應該在鎖定數據庫之前要求登錄用戶退出VSS。在重新允許用戶使用VSS之前,需要解除對數據庫的鎖定。3.2.5 數據庫

9、恢復(Restore Databases)此處略,詳細內容請查閱聯機幫助。3.2.6 使用多個數據庫(Work with Multiple Databases)*缺省時,VSS將所有文件集中放在一個數據庫中。如果可能,應盡量使用一個數據庫存放所有文件,這比分多個數據庫存放要好,因為: · 你不能在多個數據庫間共享(Share)文件(參見對文件和工程的Branch/Share操作)。 · 將位于多個數據庫中的內容集中在一起是比較困難的,需要使用VSS Administrator的Archive功能(參見數據庫打包)。 · 出于安全的考慮,VSS的用戶信息,包括密碼在

10、內,是和數據一起存放的。如果為了安全起見,要將信息拆分成多個獨立的數據庫,這種信息存儲方式將帶來極大便利,但你必須為每個數據庫都單獨添加用戶。 3.3 有關權限的話題(About Rights)3.3.1 權限的傳遞(Rights Propagation)當你添加了一個新用戶,并為該用戶設置了針對某個工程的權限時,將在VSS數據庫中建立起一個assignment。該assignment將會沿著工程樹向下傳遞直至遇到另一個assignment。例如:針對工程"$/" ,你為用戶A指定了Add權限(參見安全訪問權限),而對于工程"$/Sample",你沒有為

11、用戶顯式指定權限,則該用戶將對工程"$/Sample"自動擁有Add權限。當你在工程"$/Sample/BusinessObject"處為其指定了Read權限后,將阻止早先assignment的向下傳遞過程,所以用戶A對該工程(指"$/Sample/BusinessObject")及其子工程都只具有Read權限了。當你首次添加一個用戶時,該用戶在工程"$/"處被賦予的權限由"缺省權限"決定,缺省權限是通過在VSS Administrator里設置Project Security屬性頁的內容來定義

12、的。你可以通過修改該頁內容,全局性地變更所有用戶的缺省權限。3.3.2 安全訪問權限(Security Access Rights)3.3.2.1 缺省安全設置當安裝VSS后,缺省安全設置將被啟用。你可以利用定制的方式,使某些用戶擁有對某些工程和某些VSS命令的特定權限。缺省安全設置很簡單,當添加新用戶時,你只有兩種級別的訪問權限可供選擇: · 只讀權限(Read-only rights):用戶可以查看VSS中的任何內容,但不能更改。 · 可讀寫權限(Read/write rights):用戶可以查看和修改VSS中的任何內容。 如果這樣的訪問權限級別足以應對日常使用,那么就

13、無需再增強安全控制的級別了。所有的VSS安全管理都在VSS Administrator中進行。任何能運行該程序的用戶都可以改變VSS的任意特性,所以最好只有管理員才使用該程序。3.3.2.2 更高級別的安全控制在VSS中,對工程的安全性控制,是通過制定用戶訪問權限來實現的。每個工程僅能被那些具有相應權限的用戶訪問到,每個命令僅能被那些具有相應權限的用戶使用??梢酝ㄟ^VSS Administrator來定制權限,以達到更高級別的安全控制。以下是VSS的權限級別列表,下列每種權限都擁有該權限之前的全部權限。例如:擁有Check Out權限的用戶,也將同時擁有Read權限。(參見附錄A2:VSS中部

14、分命令的對應權限級別)權限描述Read (R)類似于缺省安全設置中的只讀權限Check Out (C)可以使用Check Out/Check In/Undo Check Out等命令對文件進行修改Add (A)可以使用Add/Delete/Label/Rename等命令對文件進行修改Destroy(D)可以使用Destroy/Purge/Rollback等命令對文件實施永久性刪除操作4 普通用戶部分4.1 對工程、文件的一般性使用(Normal Use about Projects and Files)4.1.1 打開/關閉數據庫(Open/Close a Database)此處略,詳細內容請

15、查閱聯機幫助。4.1.2 創(chuàng)建新工程(Create New Projects)此處略,詳細內容請查閱聯機幫助。4.1.3 添加文件、目錄、工程(Add Files,Folders,and Projects)此處略,詳細內容請查閱聯機幫助。4.1.4 刪除和恢復文件、工程(Delete and Recover Files and Projects)VSS提供了3種刪除文件的方法: · Delete:VSS只把指定文件從當前工程中刪除,而在VSS數據庫中仍留有該文件的記錄。此外,其他共享了該文件的工程仍保留此文件(參見對文件和工程的Branch/Share操作)。 · Dest

16、roy:VSS將把指定文件從VSS數據庫中徹底刪除,其后將無法恢復。 · Purge:永久性刪除已被Delete掉的文件,其后將無法恢復。 對于共享文件,Delete和Destroy僅將文件從當前所選工程中刪除掉,其他共享了該文件的工程,以及VSS數據庫中,仍留有此文件。4.1.5 移動文件和工程(Move Files and Projects)移動一個文件的唯一方法是,在文件新所在位置的上一級工程(parent project)處使該文件共享(參見對文件和工程的Branch/Share操作),然后將原有工程(original project)下的該文件Delete或者Destroy

17、(參見刪除和恢復文件、工程)。移動后,文件的歷史記錄將被保留。通過使用Move命令,你可以將一個子工程(subproject)從某個上級工程重置到另一個工程下。該操作不會改變子工程的內容和歷史記錄,但它會影響上級工程的歷史記錄(包括子工程所在的原有上級工程和新的上級工程)。當移動一個工程后,你將無法重建原有上級工程的某個舊版本。4.1.6 重命名文件、工程(Rename Files or Projects)若某個文件被多個工程所共享,對該文件的重命名將影響所有工程,而在Branch狀態(tài)下,則不影響(參見對文件和工程的Branch/Share操作)。4.1.7 設置工作目錄(Set Workin

18、g Folders)此處略,詳細內容請查閱聯機幫助。4.2 簽入、簽出、獲取、查看及相關操作(Check In/Out、Get、View and Other Related Use)4.2.1 簽入簽出操作(Check In and Check Out Files)此處略,詳細內容請查閱聯機幫助。4.2.2 撤銷簽出(Undo Check Out)執(zhí)行該操作時,若用戶選擇了替換本地文件,則用戶將丟失最近一次簽出后對該文件在本地的更改。4.2.3 獲取最近版本(Get Latest Version)此處略,詳細內容請查閱聯機幫助。4.2.4 獲取早期版本(Get Earlier Version)

19、此處略,詳細內容請查閱聯機幫助。4.2.5 獲取和查看文件、工程(Get and View Files and Projects)Get操作將文件或工程拷貝至本地的工作目錄,并設置為read-only屬性??梢杂肰iew操作查看文件內容,此時用戶無需設置工作目錄。盡量不要刪除vssver.scc文件。本地工作目錄及每個子目錄下都包含一個這樣的文件,VSS利用其中記錄的信息確定本地目錄中哪個文件已經更改了。刪除后,將使新一次的Get操作速度減慢。4.2.6 回滾到以前版本(Rollback to Previous Versions)該操作將使文件的內容恢復到先前某個版本時的狀態(tài),它將使所有在該版

20、本后所做的改動丟失。如果你所回滾的文件被多個工程共享,則操作只影響你所指定的那個工程,并且它會自動實行Branch操作(參見對文件和工程的Branch/Share操作)。建議你使用虛擬回滾(Virtual Rollback),它將不會使隨后的改動永久丟失。具體操作如下: · 選擇你要回滾的文件并簽出 · 使用Get命令獲取某個原有版本到本地 · 簽入該文件 4.2.7 多人同時簽出一個文件(Check Out Multiple Files)*缺省狀態(tài)下,一個文件只允許一個人簽出,管理員可以通過修改配置,允許多人同時簽出。此時,VSS將跟蹤所有簽出該文件的用戶。每當

21、用戶簽入時,VSS都將和當前存于數據庫內的最新版本進行比較,若用戶修改的是同一文件的不同處,VSS將進行簡單的合并(Merge),否則提示用戶,并且不允許簽入。用戶可以通過VSS提供的Visual Merge工具,比較存放于VSS數據庫中的文件和本地文件的異同,手工修改本地文件,直到認為已經可以簽入時,方才執(zhí)行最終簽入操作。(參見合并)4.2.8 合并(Merge)*在VSS中,合并可能發(fā)生在3種場合下:使用Multiple Checkout的工作方式;合并原先已經Branch了的文件;獲?。℅et)文件。 · Multiple Checkout:若多個用戶同時簽出一個文件,第一個用

22、戶只要簡單的簽入就可以了。后續(xù)用戶也可以簽入,但他們的更改將需要和其他所有用戶的更改合并,VSS將得到完整的更改內容(參見多人同時簽出一個文件)。 · Branch:當被Branch的文件合并到其中一個分支時,VSS將會把在另一個分支上所做的改動合并到該分支上(參見對文件和工程的Branch/Share操作)。 · Merge on Get:在Multiple Checkout工作方式下,當使用Get Latest Version操作時可能引發(fā)合并操作,此時保存在VSS數據庫中的內容將合并到本地文件。但如果某個文件是排他性簽出的,則不會引發(fā)合并操作(參見排他性簽出)。 在完

23、成一個合并之后,VSS遵循如下規(guī)則: · 如果仍有沖突,VSS維持文件的簽出狀態(tài),為了使文件能順利簽入,你必須排除這些沖突。 · 如果你使用Merge Branches命令,將一個文件合并到一個工程中,而該工程中的對應文件已被簽出,該文件將繼續(xù)保持簽出狀態(tài)(參見對文件和工程的Branch/Share操作)。 · 在任何其他時候,VSS將會提示你,或者在合并后自動簽入,或者保持文件的簽出狀態(tài)以使你在更新VSS數據庫中內容之前再核查一邊。 缺省情況下,當發(fā)生沖突時,VSS將啟用其Visual Merge工具。4.2.9 排他性簽出(Exclusive Check Ou

24、t)*允許多人同時簽出一個文件是針對整個VSS數據庫而言的,但用戶仍可以根據實際情況,針對某些文件修改該規(guī)則。對某個文件實施排他性簽出,則其他用戶將無法簽出該文件,直至該用戶使用了簽入操作。4.2.10 對工程的Cloak操作(Cloak Projects)*若對某工程實行了Cloak操作,則當對該工程的上一級工程進行Get/Check In/Check Out/Undo Check Out/Project Difference操作時,將不會影響該工程及其子工程。而在該工程上進行類似操作時,則和平常得到的結果一樣。這一屬性將傳遞給其下的子工程。例如:某個工程其路徑為$/Application,

25、下面有三個子工程:$/Application/Code,$/Application/Test,$/Application/Docs,而Docs工程下的內容可能對你沒有任何用處。當你每次從$/Application處進行Get操作后,都需要從本地刪除多余的Docs目錄。此時可以對Docs進行Cloak操作。這樣,每次的Get操作將只把Code和Test下的內容放到本地。如果你需要獲取Docs工程下的內容,則可以單獨從Docs處進行Get操作。4.3 Branch、Share、Label和Pin操作(Branch、Share、Label and Pin)4.3.1 對文件和工程的Branch/Sh

26、are操作(Branch and Share Files and Projects)*在VSS中,通過Share操作,一個文件可以被多個工程共享,在任何一個工程中對該文件的更改,都將反映到其他相關工程里。Branch操作則消除這種共享,每次將一個被共享的文件拆成兩個分支,在不同工程中分別跟蹤該文件。通過查看文件屬性的Links屬性頁可以了解該文件被哪些工程共享,通過查看Paths屬性頁可以了解文件的分支狀況。例如:產品目前的正式版本為2.0(工程路徑為$/Application),在加入新功能后將升級為3.0。但在開始升級的過程中,其間的一個過渡版本2.1存在bug,需要修改。此時可以進行如下

27、操作:選擇被Label標識為2.0的那個版本(參見給文件、工程指定標簽),利用Share功能創(chuàng)建過渡版本(工程路徑為$/Application2.1),此時兩個工程中的文件是共享的,且$/Application2.1中的所有文件都處于Pin狀態(tài)(參見 Pin操作),即:在向3.0升級的過程中,對$/Application中相關文件的更改,將不影響$/Application2.1下的內容,但此時文件仍是共享的。僅對需要修改bug的文件采取Branch操作。這樣做的好處是,中間版本的bug修改工作和3.0的升級工作可以同時進行,并且最大限度的降低了所需的存儲空間。4.3.2 給文件、工程指定標簽(

28、Label Files and Projects)*VSS使用3種方式跟蹤文件的歷史記錄:內部版本號,日期,用戶自定義標簽。標簽可以是一個不超過31個字符長度的串,例如:"1.0"、"2.01b"、"Final Beta"、"Approved for QA"。應用Label功能,用戶就可以獲取某個特定時期的軟件內容了。所有當前工程下的文件和子工程都將繼承該標簽。注意下面幾點: · 當使用Label功能時,表明你在所選工程的歷史記錄里創(chuàng)建了一個新的版本,但文件和工程本身的內容并未發(fā)生變化。 · 對

29、某個工程的某個標簽再次使用Label操作將覆蓋原來的標簽內容。 請參見附錄A1:同時維護一個工程的多個版本4.3.3 Pin操作(Pin)*該功能對共享文件很有用,盡管它的使用不僅限于共享文件,也包括其他任何文件。當你對一個文件實施Pin操作后,你將不能對之做任何修改。如果一個文件在Pin之后又被實施了Share操作,而被Pin的那個版本同時也是被共享的版本,則所有共享該文件的工程都不能更改該文件。如果一個文件先被實施了Share操作,而后在某個工程中被Pin了,則除了這個工程外的其余工程仍可以更改該文件(參見對文件和工程的Branch/Share操作)。4.4 其他操作(Other Use)

30、4.4.1 擴展關鍵字(Expand Keywords)*VSS可以將某些指定信息(例如:VSS內部版本號)直接插入文本文件中。用戶只要將某些關鍵字放入文件的注釋中,每次添加(Add)或簽入(Check In)文件時,VSS都會自動查找這些關鍵字,并將相關信息置于其后。VSS中常用的關鍵字: 關鍵字描述$Archive: $文件在VSS中的路徑名$Author: $最近一次更改文件的用戶$Date: $最近一次簽入的時間$History: $文件的歷史記錄$Revision: $VSS內部版本號$NoKeywords: $使VSS對其后的所有關鍵字不進行擴展例如:在某文件中加入如下一行:$Re

31、vision: $若當前該文件在VSS內部的版本號是22,則簽入后VSS會將之修改為:$Revision: 23 $4.4.2 使用Shadow目錄(Work with Shadow Folders)*Shadow目錄位于服務器端,包含了工程中所有的文件。這些文件既非位于VSS數據庫中的master copy,亦非位于本地工作目錄的local copy,而是最近一次簽入的所有內容。Shadow目錄應該由管理員來設置。是否使用Shadow目錄功能是可選的,通常在如下兩種情況下可以考慮使用該功能: · 為使某些用戶能查看文件(但不能更改),這些用戶可能沒有對VSS的訪問權限。 ·

32、; 不讓你的本地工作目錄保留可編譯的軟件副本。為使每個用戶都能得到一個最新版本的軟件,所有用戶可能希望在某個目錄下集中進行編譯,而非在各自的工作目錄下編譯。在這種情況下,Shadow目錄功能通常和添加(Add)、簽入(Check In)之后的Remove Local Copy結合使用。 Shadow目錄不會跟蹤子工程的變化,例如:你有一個被Shadow的工程$/A,包含兩個子工程:$/A/1和$/A/2,而你又將$/A/2重命名為$/A/B,這種變化將不會被反映到Shadow目錄中。你可以手工修改,或者利用Reconcile All功能,使之保持同步。4.4.3 性能優(yōu)化(Optimize P

33、erformance)*有兩種方法可以改善VSS的性能:盡可能多的將內容通過網絡拷貝至本地來做;修改初始化文件對VSS的性能進行微調。具體優(yōu)化措施: · 在SS.INI或SRCSAFE.INI文件中設置如下變量: Diff_Ignore (PC) = c-e-s-w-使VSS在進行文件比較時忽略end-of-line標記,從而加快運行效率CP_OnSelection = No在使用VSS Explorer時,缺省狀態(tài)下,用戶使用鼠標單擊或使用鍵盤的方向鍵在工程列表上移動時,就會選中工程。設為No后,只有雙擊鼠標或按回車鍵才會選中。· 設置臨時目錄 缺省情況下,VSS將臨時文

34、件存于服務器端,但管理員可以通過修改SS.INI中的Temp_Path變量,將臨時路徑設置在本地。· 讓管理員在SRCSAFE.INI文件中將Lock_Mode變量設置為Native 這是SRCSAFE.INI中該變量的缺省設置,把該變量設置為Native將使幾乎所有的VSS操作都得到加速。該變量只能由管理員來設置。· 管理員通過Disable下面的功能,也可以一定程度地改善性能: o Shadow folders(參見使用Shadow目錄) o Journal files o Project security system(參見安全訪問權限) o Keyword expa

35、nsion(參見擴展關鍵字) 4.4.4 查找文件(Search for Files)VSS Explore的list view缺省時只顯示當前工程中的所有文件。通過使用Search命令,可以只顯示符合指定要求的文件。例如:只顯示.h文件,只現實被簽出的文件。Search命令是允許遞歸的。4.4.5 設置密碼(Set Passwords)如果VSS管理員指定域賬號為VSS登錄賬號,則用戶登錄VSS時將不會提示輸入密碼。4.4.6 編寫批處理文件(Writing Batch Files)*在編寫批處理文件時,一些在命令行方式下使用的交互手段需要改變。· 屏蔽輸入(Disable Inp

36、ut) 如果你的批處理文件中包含了一系列VSS命令(它們可能需要整夜運行),你一定不希望程序執(zhí)行期間會停下來提示用戶輸入信息。有3個命令行選項可以解決此類問題。缺省時,VSS在執(zhí)行諸如添加(Add)、簽入(Check In)等操作時會提示你輸入注釋(Comment),利用-c選項可以避免該類提示: 命令描述-c-不添加注釋"-cHello"使用Hello字串作為注釋-cCOMMENT.TXT使用comment.txt文件的內容作為注釋此外,VSS通常會要求用戶回答yes或no,你可以使用-i選項避免此類問題: 命令描述-i-y對所有此類提問自動回答Yes-i-n對所有此類提

37、問自動回答No-i使用缺省回答VSS也可能會提示登錄名,你可以使用-y選項提供足夠多的信息。· 重定向輸出 缺省時,VSS將所有輸出定向到屏幕,在命令行狀態(tài)下你可以使用-o選項分頁輸出,而在批處理文件中你同樣可以利用-o屏蔽輸出或重定向輸出。 命令描述-o-屏蔽輸出-oRESULTS.TXT重定向所有輸出到文本文件results.txt中,如果該文件已存在,輸出內容將追加到該文件末尾。· 使用命令行返回值 在命令行狀態(tài)下運行VSS時,VSS會設置一些返回值來標明運行狀態(tài)。你可以在批處理文件中根據VSS的返回值采取相應措施。 返回值描述100表明出錯,例如:VSS無法找到數據

38、庫文件,或者你試圖簽出某個早已被簽出的文件。1表明一個不是很嚴重的錯誤,將在如下三種情況下發(fā)生:當你使用ss Dir時,沒有找到任何條目。當你使用ss Status時,至少有一項被簽出。當你使用ss Diff時,至少有一個文件不一致。所有這些情況表明,即使本次操作是成功的,你執(zhí)行的下一個VSS命令也可能操作失敗。0VSS成功執(zhí)行。4.4.7 定制SS.INI和SRCSAFE.INI文件(Customize the SS.INI and SRCSAFE.INI Files)VSS有兩類初始化文件,它們包含了VSS的一些環(huán)境變量:SS.INI,每個用戶都有一個這樣的文件;SRCSAFE.INI,僅

39、有一個,定義了VSS的一些全局變量,只有管理員才有權修改它。附錄A1 同時維護一個工程的多個版本(Maintain Multiple Versions of a Project)你可以使用Share/Pin/Branch的方式,也可以使用Label方式。如果你所處的環(huán)境只要求少量的改動,比如:輕量級的patch,使用Label比較合適;如果你正在規(guī)劃大量的開發(fā)內容,使用Share/Pin/Branch比較合適。例如:在軟件處于Beta版時,你可以通過Label功能凍結(freeze)之,并同時修改Beta版的bug。當你正同時維護著某個產品的1.1版和2.0版時,合理的做法是,為每個版本創(chuàng)建一

40、個新的工程,Share并Pin所有的文件,在需要的時候Branch。當1.1發(fā)布時,你可以將1.1版的工程Label,而后將對1.1版的改動重新Merge到2.0版中。下面的幾個場景為你使用Label功能提供指導:場景1:理想情況1、對即將到達Beta 1版的工程進行開發(fā)和測試。2、當你認為時機適宜時,將之Label為"Beta 1"。3、開始Beta 2版的工作。 場景2:文件A的某個版本被錯誤地包含在Beta 1版中1、對即將到達Beta 1版的工程進行開發(fā)和測試。2、當你認為時機適宜時,將之Label為"Beta 1"。3、開始Beta 2版的工作

41、。4、如果發(fā)現文件A某一時期的版本被錯誤的包含在了Beta 1版中,選擇該文件的正確版本并Label為"Beta 1"。5、獲?。℅et)Beta 1版的工程。 場景3:需將bug-fix后的文件A被包含在Beta 1版中,而其余文件未曾改動1、對即將到達Beta 1版的工程進行開發(fā)和測試。2、當你認為時機適宜時,將之Label為"Beta 1"。3、開始Beta 2版的工作。4、你發(fā)現,包含在Beta 1版中文件A的那個版本存在bug,必須改正,而工程中的其余文件則不須改動。5、簽出該文件,改正,然后簽入。6、將工程重新Lable為"Beta

42、 1"(你將被詢問是否確認刪除原有標記)。 場景4:需將bug-fix后的文件A包含在Beta 1版中,而其余文件也作了改動1、對即將到達Beta 1版的工程進行開發(fā)和測試。2、當你認為時機適宜時,將之Label為"Beta 1"。3、開始Beta 2版的工作。4、你發(fā)現,包含在Beta 1版中文件A的那個版本存在bug,必須改正,而工程中的其余文件已經改動過且已經被簽入。5、簽出該文件,改正,然后簽入(此時該文件的VSS內部版本號將自動加1)。6、將該文件Label為"Beta 1"(和工程的Label同名),這將使該文件的現有版本被指定為"Beta 1"。 場景5:文件A的一個原有版本需

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論