MSSCCPRJ。SCC 檔案
當您使用 IDE 將 Visual Studio 方案或專案放在原始檔控制之下時,IDE 會收到兩個主要資訊片段。 此資訊來自原始檔控制外掛程式,格式為字串。 這些字串 「AuxPath」 和 「ProjName」 對 IDE 不透明,但外掛程式會使用這些字串來找出版本控制中的方案或專案。 IDE 通常會第一次呼叫 SccGetProjPath 來取得這些字串,然後將這些字串儲存在方案或項目檔中,以供日後呼叫 SccOpenProject。 當內嵌在方案和項目檔中時,當使用者分支、分支或複製版本控制中的方案和項目檔時,不會自動更新 “AuxPath” 和 “ProjName” 字串。 若要確定方案與項目檔指向版本控制中的正確位置,用戶必須手動更新字串。 因為字串應該不透明,所以可能並不總是清楚應該更新字串的方式。
原始檔控制外掛程式可以藉由將 「AuxPath」 和 「ProjName」 字串儲存在名為 MSSCCPRJ.SCC 檔案的特殊檔案中,以避免這個問題。 它是外掛程式所擁有和維護的本機用戶端檔案。 此檔案絕不會放在原始檔控制之下,但是由包含原始檔控制之每個目錄的外掛程式所產生。 若要判斷哪些檔案是 Visual Studio 解決方案和項目檔,原始檔控制外掛程式可以比較擴展名與標準或使用者提供的清單。 一旦 IDE 偵測到外掛程式支援 MSSCCPRJ.SCC 檔案,它就會停止將 “AuxPath” 和 “ProjName” 字串內嵌到方案和項目檔中,並改為從 MSSCCPRJ.SCC 檔案讀取這些字串。
支援 MSSCCPRJ.SCC 檔案的原始檔控制外掛程式必須遵循下列指導方針:
每個目錄只能有一個 MSSCCPRJ.SCC 檔案。
MSSCCPRJ.SCC 檔案可以包含位於指定目錄內原始檔控制之多個檔案的 “AuxPath” 和 “ProjName”。
“AuxPath” 字串內不得有引號。 它可讓其周圍有引號做為分隔符(例如,一對雙引號可用來表示空字串)。 從 MSSCCPRJ.SCC 檔案讀取時,IDE 會從 “AuxPath” 字串移除所有引號。
MSSCCPRJ 中的 「ProjName」 字串。SCC 檔案 必須完全符合從函式傳回的
SccGetProjPath
字串。 如果函式傳回的字串周圍有引號,MSSCCPRJ.SCC 檔案中的字串必須有引號,反之亦然。每當檔案置於原始檔控制之下時,就會建立或更新 MSSCCPRJ.SCC 檔案。
如果 MSSCCPRJ.SCC 檔案被刪除,提供者應該在下一次對該目錄執行原始檔控制作業時重新產生它。
MSSCCPRJ.SCC 檔案必須嚴格遵循定義的格式。
MSSCCPRJ 的圖例。SCC 檔案格式
以下是 MSSCCPRJ.SCC 檔案格式的範例(行號僅以指南的形式提供,不應包含在檔案本文中):
[第 1 行]
SCC = This is a Source Code Control file
[第 2 行]
[第 3 行]
[TestApp.sln]
[第 4 行]
SCC_Aux_Path = "\\server\vss\"
[第 5 行]
SCC_Project_Name = "$/TestApp"
[第 6 行]
[第 7 行]
[TestApp.csproj]
[第 8 行]
SCC_Aux_Path = "\\server\vss\"
[第 9 行]
SCC_Project_Name = "$/TestApp"
第一行會指出檔案的用途,並做為此類型所有檔案的簽章。 這一行應該會顯示在所有 MSSCCPRJ.SCC 檔案中完全相同:
SCC = This is a Source Code Control file
下一節會詳細說明每個檔案的設定,以方括弧標示的檔名。 這個區段會針對所追蹤的每個檔案重複執行。 這一行是檔名的範例,也就是 [TestApp.csproj]
。 IDE 需要下列兩行。 不過,它不會定義定義的值樣式。 變數為 SCC_Aux_Path
和 SCC_Project_Name
。
SCC_Aux_Path = "\\server\vss\"
SCC_Project_Name = "$/TestApp"
此區段沒有結束分隔符。 檔案的名稱以及出現在檔案中的所有常值,都會定義在 scc.h 頭檔中。 如需詳細資訊,請參閱 用於尋找原始檔控制外掛程式的字串。