Visual SourceSafe简明培训教程
| ? |
| ? | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ? | 1 說(shuō)明2 概述3 管理員部分3.1 維護(hù)用戶(hù)列表(Maintain the User List)3.1.1 添加用戶(hù)(Add a User)3.1.2 更改密碼(Change Passwords)3.1.3 創(chuàng)建用戶(hù)列表(Create a User List)3.1.4 刪除用戶(hù)(Delete a User)3.1.5 編輯用戶(hù)屬性(Edit User Attributes)3.2 管理數(shù)據(jù)庫(kù)(Manage the Database)3.2.1 分析數(shù)據(jù)目錄(Analyze the Data Folder)*數(shù)據(jù)庫(kù)打包)。VSS數(shù)據(jù)目錄中包含有全部工程和文件的數(shù)據(jù)庫(kù)信息。由于網(wǎng)絡(luò)或操作系統(tǒng)的某些故障,VSS中的文件可能存在錯(cuò)誤和不一致問(wèn)題,Analyze VSS DB工具被用來(lái)查找和修復(fù)這些問(wèn)題。在運(yùn)行該工具前,需要鎖定(Lock)所有用戶(hù)并要求他們退出VSS,用戶(hù)可以在一個(gè)數(shù)據(jù)庫(kù)被鎖定時(shí)保持文件的簽出狀態(tài)(參見(jiàn)鎖定數(shù)據(jù)庫(kù))。建議分兩次運(yùn)行Analyze VSS DB工具,第一次修復(fù)錯(cuò)誤,第二次核查是否仍然存在沒(méi)有被修復(fù)的錯(cuò)誤。數(shù)據(jù)目錄的具體位置是由Data_Path初始化變量在SRCSAFE.INI文件中指定的(參見(jiàn)定制SS.INI和SRCSAFE.INI文件)。 一、本教程針對(duì)不同使用對(duì)象提供Visual SourceSafe 6.0的若干使用指導(dǎo),閱讀對(duì)象包括Visual SourceSafe的管理員和普通用戶(hù),以及希望了解如何采用Visual SourceSafe進(jìn)行軟件版本控制的管理人員。管理員或普通用戶(hù)在使用Visual SourceSafe的過(guò)程中,如果遇到不知如何操作,或者對(duì)某些操作的注意事項(xiàng)不甚了解等類(lèi)似情況時(shí),可以查閱本教程。 二、本教程的"管理員部分"是管理員必讀的,如果管理員在除履行其自身職責(zé)之外,還兼任普通用戶(hù)的角色,則可以參閱教程中的"普通用戶(hù)部分"。作為一般的普通用戶(hù),只需閱讀"普通用戶(hù)部分"即可。 三、教程中列舉的操作,加星號(hào)者,為高級(jí)用法(Advanced Usage),其余為基本用法(Basic Usage)。所謂基本用法是指一些通常使用頻繁的,或者是使用方法較為簡(jiǎn)單的操作。所謂高級(jí)用法是指通常使用頻率不多,或者較為重要的,或者用法復(fù)雜的操作。 四、本教程內(nèi)容摘選并改編自Visual SourceSafe 6.0英文版聯(lián)機(jī)幫助,從中提取了諸多重要信息、容易忽略的內(nèi)容以及若干注意事項(xiàng)。一些基本內(nèi)容(主要指某些基本操作的使用方法)只簡(jiǎn)單列舉了條目,欲了解這些條目的詳細(xì)情況請(qǐng)查看聯(lián)機(jī)幫助的相關(guān)部分,可以通過(guò)列于這些條目之后的英文說(shuō)明在聯(lián)機(jī)幫助中搜索到相關(guān)內(nèi)容。 五、本教程不涉及Visual SourceSafe圖形用戶(hù)界面操作的解釋說(shuō)明,對(duì)指定功能的具體操作步驟請(qǐng)查看聯(lián)機(jī)幫助的相關(guān)部分。可以通過(guò)列于該功能之后的英文說(shuō)明在聯(lián)機(jī)幫助中搜索到相關(guān)內(nèi)容。 六、在其他Visual Studio產(chǎn)品中(例如:Visual C++)可以集成Visual SourceSafe的功能,本教程不涉及有關(guān)在其他集成開(kāi)發(fā)環(huán)境下如何使用Visual SourceSafe功能的內(nèi)容,這部分內(nèi)容主要針對(duì)普通用戶(hù)。對(duì)這些內(nèi)容的了解,在閱讀完本教程之后,將會(huì)變得容易。此外,某些操作在Visual SourceSafe環(huán)境下使用更為方便。 ? Visual SourceSafe(以下簡(jiǎn)稱(chēng)VSS)是一種版本控制管理工具。它通過(guò)將各種類(lèi)型的文件(包括:文本文件、圖像文件、二進(jìn)制文件、聲音文件、視頻文件等)存入其內(nèi)部數(shù)據(jù)庫(kù)的方式,幫助你有效地管理工程(Project,關(guān)于VSS中工程的概念請(qǐng)見(jiàn)下面)。它允許你在多個(gè)工程間共享同一組文件;你可以將一個(gè)文件添加到數(shù)據(jù)庫(kù)中,以便其他相關(guān)人員使用;任何對(duì)文件的更改將被記錄下來(lái),以便在任何時(shí)候可以恢復(fù)到該文件的某個(gè)舊版本。 VSS的工程組織方式使團(tuán)隊(duì)協(xié)作開(kāi)發(fā)變得更為容易和直觀。一個(gè)工程是一組存放于VSS數(shù)據(jù)庫(kù)內(nèi)的任意類(lèi)型的文件,一個(gè)工程類(lèi)似于操作系統(tǒng)中的目錄,但VSS為其提供了版本控制、歷史記錄、文件合并等更多的功能支持。 ? ? ? 此處略,詳細(xì)內(nèi)容請(qǐng)查閱聯(lián)機(jī)幫助。 ? 此處略,詳細(xì)內(nèi)容請(qǐng)查閱聯(lián)機(jī)幫助。 ? 此處略,詳細(xì)內(nèi)容請(qǐng)查閱聯(lián)機(jī)幫助。 ? 此處略,詳細(xì)內(nèi)容請(qǐng)查閱聯(lián)機(jī)幫助。 ? 此處略,詳細(xì)內(nèi)容請(qǐng)查閱聯(lián)機(jī)幫助。 ? ? 建議你定期備份完整的VSS數(shù)據(jù)目錄(參見(jiàn) 3.2.2 數(shù)據(jù)庫(kù)打包(Archive Databases)*3.2.3 清除臨時(shí)目錄(Clean Temporary Folder)定制SS.INI和SRCSAFE.INI文件)。 你可能需要定期地備份VSS數(shù)據(jù)庫(kù),或者數(shù)據(jù)庫(kù)的某一部分。VSS Administrator工具提供了此項(xiàng)功能。它可以:
? ? VSS通常在運(yùn)行時(shí)把臨時(shí)結(jié)果放在臨時(shí)目錄里,并在退出前將之刪除。由于某些原因,例如非正常重啟,可能導(dǎo)致臨時(shí)內(nèi)容殘留在目錄中。作為管理員,你有責(zé)任定期清除臨時(shí)目錄的內(nèi)容。每隔幾周一次,當(dāng)沒(méi)有任何用戶(hù)運(yùn)行VSS或VSS Administrator時(shí),請(qǐng)清除臨時(shí)目錄的內(nèi)容。臨時(shí)目錄的具體位置是由Temp_Path初始化變量在SRCSAFE.INI文件中指定的(參見(jiàn) 3.2.4 鎖定數(shù)據(jù)庫(kù)(Lock a Database)3.2.5 數(shù)據(jù)庫(kù)恢復(fù)(Restore Databases)3.2.6 使用多個(gè)數(shù)據(jù)庫(kù)(Work with Multiple Databases)*對(duì)文件和工程的Branch/Share操作)。 數(shù)據(jù)庫(kù)鎖定功能將不會(huì)自動(dòng)鎖定那些當(dāng)前已經(jīng)登錄的用戶(hù),你應(yīng)該在鎖定數(shù)據(jù)庫(kù)之前要求登錄用戶(hù)退出VSS。在重新允許用戶(hù)使用VSS之前,需要解除對(duì)數(shù)據(jù)庫(kù)的鎖定。 ? 此處略,詳細(xì)內(nèi)容請(qǐng)查閱聯(lián)機(jī)幫助。 ? 缺省時(shí),VSS將所有文件集中放在一個(gè)數(shù)據(jù)庫(kù)中。如果可能,應(yīng)盡量使用一個(gè)數(shù)據(jù)庫(kù)存放所有文件,這比分多個(gè)數(shù)據(jù)庫(kù)存放要好,因?yàn)?#xff1a;
? 3.3 有關(guān)權(quán)限的話(huà)題(About Rights)3.3.1 權(quán)限的傳遞(Rights Propagation)安全訪(fǎng)問(wèn)權(quán)限),而對(duì)于工程"$/Sample",你沒(méi)有為用戶(hù)顯式指定權(quán)限,則該用戶(hù)將對(duì)工程"$/Sample"自動(dòng)擁有Add權(quán)限。當(dāng)你在工程"$/Sample/BusinessObject"處為其指定了Read權(quán)限后,將阻止早先assignment的向下傳遞過(guò)程,所以用戶(hù)A對(duì)該工程(指"$/Sample/BusinessObject")及其子工程都只具有Read權(quán)限了。 ? 當(dāng)你添加了一個(gè)新用戶(hù),并為該用戶(hù)設(shè)置了針對(duì)某個(gè)工程的權(quán)限時(shí),將在VSS數(shù)據(jù)庫(kù)中建立起一個(gè)assignment。該assignment將會(huì)沿著工程樹(shù)向下傳遞直至遇到另一個(gè)assignment。 例如:針對(duì)工程"$/" ,你為用戶(hù)A指定了Add權(quán)限(參見(jiàn) 當(dāng)你首次添加一個(gè)用戶(hù)時(shí),該用戶(hù)在工程"$/"處被賦予的權(quán)限由"缺省權(quán)限"決定,缺省權(quán)限是通過(guò)在VSS Administrator里設(shè)置Project Security屬性頁(yè)的內(nèi)容來(lái)定義的。你可以通過(guò)修改該頁(yè)內(nèi)容,全局性地變更所有用戶(hù)的缺省權(quán)限。 3.3.2 安全訪(fǎng)問(wèn)權(quán)限(Security Access Rights)3.3.2.1 缺省安全設(shè)置3.3.2.2 更高級(jí)別的安全控制VSS中部分命令的對(duì)應(yīng)權(quán)限級(jí)別) ? 當(dāng)安裝VSS后,缺省安全設(shè)置將被啟用。你可以利用定制的方式,使某些用戶(hù)擁有對(duì)某些工程和某些VSS命令的特定權(quán)限。 缺省安全設(shè)置很簡(jiǎn)單,當(dāng)添加新用戶(hù)時(shí),你只有兩種級(jí)別的訪(fǎng)問(wèn)權(quán)限可供選擇:
? 如果這樣的訪(fǎng)問(wèn)權(quán)限級(jí)別足以應(yīng)對(duì)日常使用,那么就無(wú)需再增強(qiáng)安全控制的級(jí)別了。 所有的VSS安全管理都在VSS Administrator中進(jìn)行。任何能運(yùn)行該程序的用戶(hù)都可以改變VSS的任意特性,所以最好只有管理員才使用該程序。 ? 在VSS中,對(duì)工程的安全性控制,是通過(guò)制定用戶(hù)訪(fǎng)問(wèn)權(quán)限來(lái)實(shí)現(xiàn)的。每個(gè)工程僅能被那些具有相應(yīng)權(quán)限的用戶(hù)訪(fǎng)問(wèn)到,每個(gè)命令僅能被那些具有相應(yīng)權(quán)限的用戶(hù)使用。可以通過(guò)VSS Administrator來(lái)定制權(quán)限,以達(dá)到更高級(jí)別的安全控制。 以下是VSS的權(quán)限級(jí)別列表,下列每種權(quán)限都擁有該權(quán)限之前的全部權(quán)限。例如:擁有Check Out權(quán)限的用戶(hù),也將同時(shí)擁有Read權(quán)限。(參見(jiàn)附錄A2:
4 普通用戶(hù)部分4.1 對(duì)工程、文件的一般性使用(Normal Use about Projects and Files)4.1.1 打開(kāi)/關(guān)閉數(shù)據(jù)庫(kù)(Open/Close a Database)4.1.2 創(chuàng)建新工程(Create New Projects)4.1.3 添加文件、目錄、工程(Add Files,Folders,and Projects)4.1.4 刪除和恢復(fù)文件、工程(Delete and Recover Files and Projects)對(duì)文件和工程的Branch/Share操作)。 ? ? 此處略,詳細(xì)內(nèi)容請(qǐng)查閱聯(lián)機(jī)幫助。 ? 此處略,詳細(xì)內(nèi)容請(qǐng)查閱聯(lián)機(jī)幫助。 ? 此處略,詳細(xì)內(nèi)容請(qǐng)查閱聯(lián)機(jī)幫助。 ? VSS提供了3種刪除文件的方法:
? 對(duì)于共享文件,Delete和Destroy僅將文件從當(dāng)前所選工程中刪除掉,其他共享了該文件的工程,以及VSS數(shù)據(jù)庫(kù)中,仍留有此文件。 4.1.5 移動(dòng)文件和工程(Move Files and Projects)對(duì)文件和工程的Branch/Share操作),然后將原有工程(original project)下的該文件Delete或者Destroy(參見(jiàn)刪除和恢復(fù)文件、工程)。移動(dòng)后,文件的歷史記錄將被保留。 移動(dòng)一個(gè)文件的唯一方法是,在文件新所在位置的上一級(jí)工程(parent project)處使該文件共享(參見(jiàn) 通過(guò)使用Move命令,你可以將一個(gè)子工程(subproject)從某個(gè)上級(jí)工程重置到另一個(gè)工程下。該操作不會(huì)改變子工程的內(nèi)容和歷史記錄,但它會(huì)影響上級(jí)工程的歷史記錄(包括子工程所在的原有上級(jí)工程和新的上級(jí)工程)。當(dāng)移動(dòng)一個(gè)工程后,你將無(wú)法重建原有上級(jí)工程的某個(gè)舊版本。 4.1.6 重命名文件、工程(Rename Files or Projects)對(duì)文件和工程的Branch/Share操作)。 若某個(gè)文件被多個(gè)工程所共享,對(duì)該文件的重命名將影響所有工程,而在Branch狀態(tài)下,則不影響(參見(jiàn) 4.1.7 設(shè)置工作目錄(Set Working Folders)4.2 簽入、簽出、獲取、查看及相關(guān)操作(Check In/Out、Get、View and Other Related Use)4.2.1 簽入簽出操作(Check In and Check Out Files)4.2.2 撤銷(xiāo)簽出(Undo Check Out)4.2.3 獲取最近版本(Get Latest Version)4.2.4 獲取早期版本(Get Earlier Version)4.2.5 獲取和查看文件、工程(Get and View Files and Projects)4.2.6 回滾到以前版本(Rollback to Previous Versions)對(duì)文件和工程的Branch/Share操作)。建議你使用虛擬回滾(Virtual Rollback),它將不會(huì)使隨后的改動(dòng)永久丟失。具體操作如下: 此處略,詳細(xì)內(nèi)容請(qǐng)查閱聯(lián)機(jī)幫助。 ? ? 此處略,詳細(xì)內(nèi)容請(qǐng)查閱聯(lián)機(jī)幫助。 ? 執(zhí)行該操作時(shí),若用戶(hù)選擇了替換本地文件,則用戶(hù)將丟失最近一次簽出后對(duì)該文件在本地的更改。 ? 此處略,詳細(xì)內(nèi)容請(qǐng)查閱聯(lián)機(jī)幫助。 ? 此處略,詳細(xì)內(nèi)容請(qǐng)查閱聯(lián)機(jī)幫助。 ? Get操作將文件或工程拷貝至本地的工作目錄,并設(shè)置為read-only屬性。可以用View操作查看文件內(nèi)容,此時(shí)用戶(hù)無(wú)需設(shè)置工作目錄。 盡量不要?jiǎng)h除vssver.scc文件。本地工作目錄及每個(gè)子目錄下都包含一個(gè)這樣的文件,VSS利用其中記錄的信息確定本地目錄中哪個(gè)文件已經(jīng)更改了。刪除后,將使新一次的Get操作速度減慢。 ? 該操作將使文件的內(nèi)容恢復(fù)到先前某個(gè)版本時(shí)的狀態(tài),它將使所有在該版本后所做的改動(dòng)丟失。如果你所回滾的文件被多個(gè)工程共享,則操作只影響你所指定的那個(gè)工程,并且它會(huì)自動(dòng)實(shí)行Branch操作(參見(jiàn)
? 4.2.7 多人同時(shí)簽出一個(gè)文件(Check Out Multiple Files)*合并) 缺省狀態(tài)下,一個(gè)文件只允許一個(gè)人簽出,管理員可以通過(guò)修改配置,允許多人同時(shí)簽出。此時(shí),VSS將跟蹤所有簽出該文件的用戶(hù)。每當(dāng)用戶(hù)簽入時(shí),VSS都將和當(dāng)前存于數(shù)據(jù)庫(kù)內(nèi)的最新版本進(jìn)行比較,若用戶(hù)修改的是同一文件的不同處,VSS將進(jìn)行簡(jiǎn)單的合并(Merge),否則提示用戶(hù),并且不允許簽入。用戶(hù)可以通過(guò)VSS提供的Visual Merge工具,比較存放于VSS數(shù)據(jù)庫(kù)中的文件和本地文件的異同,手工修改本地文件,直到認(rèn)為已經(jīng)可以簽入時(shí),方才執(zhí)行最終簽入操作。(參見(jiàn) 4.2.8 合并(Merge)*多人同時(shí)簽出一個(gè)文件)。 在VSS中,合并可能發(fā)生在3種場(chǎng)合下:使用Multiple Checkout的工作方式;合并原先已經(jīng)Branch了的文件;獲取(Get)文件。
? 在完成一個(gè)合并之后,VSS遵循如下規(guī)則:
? 缺省情況下,當(dāng)發(fā)生沖突時(shí),VSS將啟用其Visual Merge工具。 4.2.9 排他性簽出(Exclusive Check Out)*4.2.10 對(duì)工程的Cloak操作(Cloak Projects)*4.3 Branch、Share、Label和Pin操作(Branch、Share、Label and Pin)4.3.1 對(duì)文件和工程的Branch/Share操作(Branch and Share Files and Projects)*給文件、工程指定標(biāo)簽),利用Share功能創(chuàng)建過(guò)渡版本(工程路徑為$/Application2.1),此時(shí)兩個(gè)工程中的文件是共享的,且$/Application2.1中的所有文件都處于Pin狀態(tài)(參見(jiàn) Pin操作),即:在向3.0升級(jí)的過(guò)程中,對(duì)$/Application中相關(guān)文件的更改,將不影響$/Application2.1下的內(nèi)容,但此時(shí)文件仍是共享的。僅對(duì)需要修改bug的文件采取Branch操作。這樣做的好處是,中間版本的bug修改工作和3.0的升級(jí)工作可以同時(shí)進(jìn)行,并且最大限度的降低了所需的存儲(chǔ)空間。 允許多人同時(shí)簽出一個(gè)文件是針對(duì)整個(gè)VSS數(shù)據(jù)庫(kù)而言的,但用戶(hù)仍可以根據(jù)實(shí)際情況,針對(duì)某些文件修改該規(guī)則。對(duì)某個(gè)文件實(shí)施排他性簽出,則其他用戶(hù)將無(wú)法簽出該文件,直至該用戶(hù)使用了簽入操作。 ? 若對(duì)某工程實(shí)行了Cloak操作,則當(dāng)對(duì)該工程的上一級(jí)工程進(jìn)行Get/Check In/Check Out/Undo Check Out/Project Difference操作時(shí),將不會(huì)影響該工程及其子工程。而在該工程上進(jìn)行類(lèi)似操作時(shí),則和平常得到的結(jié)果一樣。這一屬性將傳遞給其下的子工程。 例如:某個(gè)工程其路徑為$/Application,下面有三個(gè)子工程:$/Application/Code,$/Application/Test,$/Application/Docs,而Docs工程下的內(nèi)容可能對(duì)你沒(méi)有任何用處。當(dāng)你每次從$/Application處進(jìn)行Get操作后,都需要從本地刪除多余的Docs目錄。此時(shí)可以對(duì)Docs進(jìn)行Cloak操作。這樣,每次的Get操作將只把Code和Test下的內(nèi)容放到本地。如果你需要獲取Docs工程下的內(nèi)容,則可以單獨(dú)從Docs處進(jìn)行Get操作。 ? ? 在VSS中,通過(guò)Share操作,一個(gè)文件可以被多個(gè)工程共享,在任何一個(gè)工程中對(duì)該文件的更改,都將反映到其他相關(guān)工程里。 Branch操作則消除這種共享,每次將一個(gè)被共享的文件拆成兩個(gè)分支,在不同工程中分別跟蹤該文件。通過(guò)查看文件屬性的Links屬性頁(yè)可以了解該文件被哪些工程共享,通過(guò)查看Paths屬性頁(yè)可以了解文件的分支狀況。 例如:產(chǎn)品目前的正式版本為2.0(工程路徑為$/Application),在加入新功能后將升級(jí)為3.0。但在開(kāi)始升級(jí)的過(guò)程中,其間的一個(gè)過(guò)渡版本2.1存在bug,需要修改。此時(shí)可以進(jìn)行如下操作:選擇被Label標(biāo)識(shí)為2.0的那個(gè)版本(參見(jiàn) 4.3.2 給文件、工程指定標(biāo)簽(Label Files and Projects)*同時(shí)維護(hù)一個(gè)工程的多個(gè)版本 VSS使用3種方式跟蹤文件的歷史記錄:內(nèi)部版本號(hào),日期,用戶(hù)自定義標(biāo)簽。 標(biāo)簽可以是一個(gè)不超過(guò)31個(gè)字符長(zhǎng)度的串,例如:"1.0"、"2.01b"、"Final Beta"、"Approved for QA"。應(yīng)用Label功能,用戶(hù)就可以獲取某個(gè)特定時(shí)期的軟件內(nèi)容了。所有當(dāng)前工程下的文件和子工程都將繼承該標(biāo)簽。 注意下面幾點(diǎn):
? 請(qǐng)參見(jiàn)附錄A1: 4.3.3 Pin操作(Pin)*對(duì)文件和工程的Branch/Share操作)。 該功能對(duì)共享文件很有用,盡管它的使用不僅限于共享文件,也包括其他任何文件。當(dāng)你對(duì)一個(gè)文件實(shí)施Pin操作后,你將不能對(duì)之做任何修改。如果一個(gè)文件在Pin之后又被實(shí)施了Share操作,而被Pin的那個(gè)版本同時(shí)也是被共享的版本,則所有共享該文件的工程都不能更改該文件。如果一個(gè)文件先被實(shí)施了Share操作,而后在某個(gè)工程中被Pin了,則除了這個(gè)工程外的其余工程仍可以更改該文件(參見(jiàn) 4.4 其他操作(Other Use)4.4.1 擴(kuò)展關(guān)鍵字(Expand Keywords)*4.4.2 使用Shadow目錄(Work with Shadow Folders)*4.4.3 性能優(yōu)化(Optimize Performance)*使用Shadow目錄) ? VSS可以將某些指定信息(例如:VSS內(nèi)部版本號(hào))直接插入文本文件中。用戶(hù)只要將某些關(guān)鍵字放入文件的注釋中,每次添加(Add)或簽入(Check In)文件時(shí),VSS都會(huì)自動(dòng)查找這些關(guān)鍵字,并將相關(guān)信息置于其后。 VSS中常用的關(guān)鍵字:
例如: 在某文件中加入如下一行: $Revision: $ 若當(dāng)前該文件在VSS內(nèi)部的版本號(hào)是22,則簽入后VSS會(huì)將之修改為: $Revision: 23 $ ? Shadow目錄位于服務(wù)器端,包含了工程中所有的文件。這些文件既非位于VSS數(shù)據(jù)庫(kù)中的master copy,亦非位于本地工作目錄的local copy,而是最近一次簽入的所有內(nèi)容。Shadow目錄應(yīng)該由管理員來(lái)設(shè)置。 是否使用Shadow目錄功能是可選的,通常在如下兩種情況下可以考慮使用該功能:
? Shadow目錄不會(huì)跟蹤子工程的變化,例如:你有一個(gè)被Shadow的工程$/A,包含兩個(gè)子工程:$/A/1和$/A/2,而你又將$/A/2重命名為$/A/B,這種變化將不會(huì)被反映到Shadow目錄中。你可以手工修改,或者利用Reconcile All功能,使之保持同步。 ? 有兩種方法可以改善VSS的性能:盡可能多的將內(nèi)容通過(guò)網(wǎng)絡(luò)拷貝至本地來(lái)做;修改初始化文件對(duì)VSS的性能進(jìn)行微調(diào)。 具體優(yōu)化措施:
? 4.4.4 查找文件(Search for Files)4.4.5 設(shè)置密碼(Set Passwords)4.4.6 編寫(xiě)批處理文件(Writing Batch Files)*4.4.7 定制SS.INI和SRCSAFE.INI文件(Customize the SS.INI and SRCSAFE.INI Files)附錄A1 同時(shí)維護(hù)一個(gè)工程的多個(gè)版本(Maintain Multiple Versions of a Project)A2 VSS中部分命令的對(duì)應(yīng)權(quán)限級(jí)別 VSS Explore的list view缺省時(shí)只顯示當(dāng)前工程中的所有文件。通過(guò)使用Search命令,可以只顯示符合指定要求的文件。例如:只顯示.h文件,只現(xiàn)實(shí)被簽出的文件。Search命令是允許遞歸的。 ? 如果VSS管理員指定域賬號(hào)為VSS登錄賬號(hào),則用戶(hù)登錄VSS時(shí)將不會(huì)提示輸入密碼。 ? 在編寫(xiě)批處理文件時(shí),一些在命令行方式下使用的交互手段需要改變。 ?
? ? VSS有兩類(lèi)初始化文件,它們包含了VSS的一些環(huán)境變量:SS.INI,每個(gè)用戶(hù)都有一個(gè)這樣的文件;SRCSAFE.INI,僅有一個(gè),定義了VSS的一些全局變量,只有管理員才有權(quán)修改它。 ? ? 你可以使用Share/Pin/Branch的方式,也可以使用Label方式。如果你所處的環(huán)境只要求少量的改動(dòng),比如:輕量級(jí)的patch,使用Label比較合適;如果你正在規(guī)劃大量的開(kāi)發(fā)內(nèi)容,使用Share/Pin/Branch比較合適。例如:在軟件處于Beta版時(shí),你可以通過(guò)Label功能凍結(jié)(freeze)之,并同時(shí)修改Beta版的bug。當(dāng)你正同時(shí)維護(hù)著某個(gè)產(chǎn)品的1.1版和2.0版時(shí),合理的做法是,為每個(gè)版本創(chuàng)建一個(gè)新的工程,Share并Pin所有的文件,在需要的時(shí)候Branch。當(dāng)1.1發(fā)布時(shí),你可以將1.1版的工程Label,而后將對(duì)1.1版的改動(dòng)重新Merge到2.0版中。下面的幾個(gè)場(chǎng)景為你使用Label功能提供指導(dǎo): 場(chǎng)景1:理想情況 1、對(duì)即將到達(dá)Beta 1版的工程進(jìn)行開(kāi)發(fā)和測(cè)試。 場(chǎng)景2:文件A的某個(gè)版本被錯(cuò)誤地包含在Beta 1版中 1、對(duì)即將到達(dá)Beta 1版的工程進(jìn)行開(kāi)發(fā)和測(cè)試。 場(chǎng)景3:需將bug-fix后的文件A被包含在Beta 1版中,而其余文件未曾改動(dòng) 1、對(duì)即將到達(dá)Beta 1版的工程進(jìn)行開(kāi)發(fā)和測(cè)試。 場(chǎng)景4:需將bug-fix后的文件A包含在Beta 1版中,而其余文件也作了改動(dòng) 1、對(duì)即將到達(dá)Beta 1版的工程進(jìn)行開(kāi)發(fā)和測(cè)試。 場(chǎng)景5:文件A的一個(gè)原有版本需要進(jìn)行bug-fix,并加入Beta 1版中 1、對(duì)即將到達(dá)Beta 1版的工程進(jìn)行開(kāi)發(fā)和測(cè)試。 ? 下表中打星號(hào)表示具有該類(lèi)權(quán)限的用戶(hù)可以使用該命令。
[1] 此處指用戶(hù)必須有對(duì)Parent Project的A類(lèi)權(quán)限。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
總結(jié)
以上是生活随笔為你收集整理的Visual SourceSafe简明培训教程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 黄山风景区晚上可以爬山吗
- 下一篇: 解读C#正则表达式