簡體   English   中英

以編程方式獲取 TFS 工作區的分支列表

[英]Get a list of branches of a TFS workspace programmatically

我想檢索本地映射的 TFS 工作區的所有分支的列表。 我已經有了一個解決方案,我可以在其中檢索 VersionControlServer-Object 的所有分支,但這不是我想要的。 它應該是一個特定於我的工作區的列表。

 var branchObjects = m_VersionControlServer.QueryRootBranchObjects(RecursionType.Full);
 List<string> branches = new List<string>();

 foreach (var branch in branchObjects)
 {
     var branchName = branch.Properties.RootItem.Item;
     branches.Add(branchName);
 }

您是否有任何想法如何檢查映射到本地工作區的哪些分支? 特定工作空間類的實例可用。

您可以使用 TFS tf命令行工具實現此目的

tf workspaces /owner:* /computer:* /collection:https://tfs.yourdomain.com/DefaultCollection /format:xml

如果您沒有tf.exe ,請參閱此頁面如何獲取 tf.exe(TFS 命令行客戶端)?

假設您知道工作區的本地路徑,您可以使用:

var workspace = versionControlServer.TryGetWorkspace(...path...)

或者您可以使用Workstation class查詢您機器上的本地工作區。

然后從工作區中,您可以從QueryWorkspaceInfo方法和映射WorkspaceInfo.Mappings屬性中獲取工作區。 從那里您可以檢查您的分支根(您已經弄清楚了)是否映射到服務器上的任何工作區中。 如果您希望能夠查找服務器路徑,則需要調用WorkspacnInfo.GetWorkspace方法並從那里使用Workspace.Folders屬性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM