在前面幾節(jié)介紹了怎樣讀取TFS服務(wù)器上的項(xiàng)目以及文件的信息,這一節(jié)將介紹怎么建立服務(wù)器和本地的映射(Mapping)。
引用命名空間
usingMicrosoft.TeamFoundation.Client;
using Microsoft.TeamFoundation.VersionControl.Client;
工作區(qū) 是服務(wù)器的文件、目錄在客戶端的映像。當(dāng)用戶對(duì)源代碼管理中的目標(biāo)進(jìn)行增加、編輯、刪除、移動(dòng)、重命名,或者其他操作時(shí),用戶的修改會(huì)保留在工作空間中,標(biāo)記為工作空間中的“待定/未提交修改”(Pending Change)。這些修改只有被用戶簽入(Check In)后,服務(wù)器上的文件或目錄才會(huì)跟著改變。
string tpcURL = "http://192.168.83.70:8080/tfs/platform";TfsTeamPRojectCollection tpc = new TfsTeamProjectCollection(new Uri(tpcURL));VersionControlServer version = tpc.GetService(typeof(VersionControlServer)) as VersionControlServer; Workspace ws1 = version.CreateWorkspace("WorkSpaceTest1");//創(chuàng)建工作區(qū)Workspace ws3 = version.CreateWorkspace("WorkSpaceTest2", Environment.UserName);//創(chuàng)建工作區(qū),并指定用戶 //CreateWorkspace還有如下重載://public Workspace CreateWorkspace(string name, string owner);//public Workspace CreateWorkspace(string name, string owner, string comment);//public Workspace CreateWorkspace(string name, string owner, string comment, WorkingFolder[] mappings);//public Workspace CreateWorkspace(string name, string owner, string comment, WorkingFolder[] mappings, string computer);//public Workspace CreateWorkspace(string name, string owner, string comment, WorkingFolder[] mappings, string computer, bool fixMappingErrors);//public Workspace CreateWorkspace(string name, string owner, string comment, WorkingFolder[] mappings, string computer, WorkspacePermissionProfile permissionsProfile, bool fixMappingErrors); Workspace[] wss = version.QueryWorkspaces(null, Environment.UserName, Environment.MachineName);//查詢工作區(qū)// QueryWorkspaces(string workspaceName, string workspaceOwner, string computer);// 第一個(gè)參數(shù)可以為null,即查詢指定機(jī)器指定用戶下的所有工作區(qū)。也可以查詢遠(yuǎn)程機(jī)器上的。 foreach (var item in wss){ Console.WriteLine(item.Name); //工作區(qū)名稱 Console.WriteLine(item.OwnerName); //用戶 Console.WriteLine(item.DisplayName); //工作區(qū)顯示名稱 一般顯示格式為:“工作區(qū)名稱;用戶” Console.WriteLine(item.Computer); //機(jī)器名稱 Console.WriteLine(item); //機(jī)器名稱} version.GetWorkspace("WorkSpaceTest"); //根據(jù)名稱獲取工作區(qū)version.DeleteWorkspace("WorkSpaceTest1", Environment.UserName);//刪除工作區(qū)
string serverItem = "$/";string localItem = "E://TFS62"; //聲明一個(gè)工作目錄,讓TFS服務(wù)器上的路徑客戶端路徑 對(duì)應(yīng)起來。WorkingFolder 繼承 Mapping WorkingFolder wf = new WorkingFolder(serverItem, localItem); ws.CreateMapping(wf); //創(chuàng)建映射。我們也可以這樣: ws.Map(serverItem,localItem); ws.IsLocalPathMapped(serverItem); // 判斷指定服務(wù)端路徑是否映射到本地ws.IsLocalPathMapped(localItem); // 判斷指定客戶端路徑是否映射到服務(wù)器 // 如果一個(gè)serverItem或localItem 之前已經(jīng)映像過了可以這樣獲取WorkingFolder wf = ws.GetWorkingFolderForServerItem(serverPath);// 或者WorkingFolder wf = ws.GetWorkingFolderForLocalItem(localPath); ws.DeleteMapping(wf); //刪除映射
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注