在TFS中對於版本控制是在WorkSpace工作區來控制的。
首先我們先整理WorkSpace的一些基本使用方法。
CheckIn:遷入掛起的操作
CreateMapping:創建一個本地映射地址
Delete:刪除工作區
GetPendingChanges:獲取掛起的工作區
Merge:合並工作項
PendAdd:排隊文件或一個文件夾添加到版本控制儲存庫
PendBranch:計划一個文件或文件夾的分支
PendDelete:隊列刪除文件或文件夾的從版本控制儲存庫
PendEdit:編輯簽出文件從版本控制儲存庫
其次我們通過一個實例來看看如何創建本地映射地址,獲取掛起工作區,排隊文件,遷入掛起等操作。
//TFSURI Uri tfsUri = new Uri("http://pc-20130113jkun:8080/tfs"); TfsTeamProjectCollection projectCollection = new TfsTeamProjectCollection(tfsUri); //設置版本控制Server VersionControlServer versionControl = projectCollection.GetService<VersionControlServer>(); //設置工作空間名稱 String workspaceName = String.Format("{0}-{1}", Environment.MachineName, "Test"); Workspace workspace = versionControl.GetWorkspace(workspaceName, versionControl.AuthorizedUser); //設置服務器文件夾 var serverFolder = "$/Calueng"; //設置本地映射文件 var localFolder = Path.Combine("C:\\Temp\\", "Test"); //設置為工作目錄文件夾 var workingFolder = new WorkingFolder(serverFolder, localFolder); // 創建工作空間的本地映射地址 workspace.CreateMapping(workingFolder); // 獲取工作空間的文件並且下載所有文件 workspace.Get(); // 創建一個測試文件夾 String newFolder = Path.Combine(workspace.Folders[0].LocalItem, "測試文件夾"); Directory.CreateDirectory(newFolder); String newFilename = Path.Combine(newFolder, "測試文檔1.txt"); // 創建一個測試文件 using (var streamWriter = new StreamWriter(newFilename)) { streamWriter.WriteLine("這是測試文件的文字"); } //將這個文件排隊等待遷入TFS管理 workspace.PendAdd(Path.GetDirectoryName(newFilename), true); // 創建等待添加的文件項集合 var pendingAdds = new List<PendingChange>(workspace.GetPendingChanges()); // 將工作項CheckIn系統中 int changesetForAdd = workspace.CheckIn(pendingAdds.ToArray(), "這里是備注消息"); Console.WriteLine("遷入了工作項 {0}", changesetForAdd); Console.ReadLine();
如需源碼請點擊 TFSTest2.rar 下載
