[英]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.