如何以编程方式确定此文件属于哪个分支?我花了3个小时试图解决这个问题,但没有结果。我发现这个主题,但它不是我想要的:How to programmatically get information about branches in TFS?以编程方式确定项目分支的TFS 2010
5
A
回答
2
我发现获取特定文件的分支信息的唯一方法是使用VersionControlServer.QueryBranchObjects查询文件夹结构中的每个可能分支到根。
然而,你可以做一些假设,并相当有效地做到这一点 - 因为一个分支不能在tfs 2010的另一个分支。找到所有文件路径的共同子集被检入并测试它们,如果没有分支他们不属于同一个分支。
4
我有一个非常类似的问题。我发现了一个解决的办法,这里是代码:
...
// get all branches
VersionControlServer vcs = tfs.GetService(typeof(VersionControlServer));
BranchObject[] allBranches = vcs.QueryRootBranchObjects(RecursionType.Full);
string myItem = "$/My Project/some Path including the branch/myFile.txt";
foreach(BranchObject branch in allBranches)
{
if(myItem.Contains(branch.Properties.RootItem.Item))
{
// branch is the branch to which the item belongs! :)
}
}
...
我希望这可以帮助别人解决这个问题,我觉得运已经解决了这个问题(它已经有一段时间,因为他问的问题)。
相关问题
- 1. 以编程方式删除TFS分支
- 2. 以编程方式确定某个分支是否在github项目中关闭
- 3. EPM Project Server 2010 - PSI - 以编程方式分配项目权限
- 4. 以编程方式删除[permenantly] TFS工作项目
- 5. 以编程方式在TFS 2010中为给定项目回收打开的工作项目清单
- 6. 如何确定在TFS 2010中与源分支关联的工作项目?
- 7. 以编程方式重命名TFS分支c#(TFS2017)
- 8. 以编程方式获取TFS团队项目的WebAccess的URL
- 9. 针对分支项目的分支项目的TFS策略
- 10. 分支此TFS团队项目的正确程序
- 11. 如何以编程方式关闭TFS工作项目
- 12. 以编程方式签出TFS 2010中的文件
- 13. 从已签出的项目创建TFS 2010分支?
- 14. TFS 2010跨整个团队项目的分支 - 最佳实践
- 15. EXTSJS:treepanel以编程方式移动分支
- 16. 以编程方式将文件添加到项目VS 2010
- 17. 以编程方式编译Android项目
- 18. 禁用对Visual Studio 2010项目/解决方案的TFS支持
- 19. TFS 2010分支和合并
- 20. 编程方式迫使字段值的TFS工作项目
- 21. Android:以编程方式确定设备对TLS的支持
- 22. 以编程方式将用户添加到Active Directory和角色到tfs项目
- 23. 如何以编程方式编辑选定的子项目?
- 24. 在TFS 2010中构建VB6项目 - 正确的方法?
- 25. 以编程方式在VS2010项目中添加现有项目?
- 26. 如何以编程方式确定Excel的列表分隔符?
- 27. 如何以编程方式获取有关TFS分支机构的信息?
- 28. 如何以编程方式跟踪多个分支机构的TFS变更集?
- 29. 从现有项目的TFS分支
- 30. 以编程方式确定系统是否支持待机
您是指工作区中的文件还是源控制路径中的文件? –
也许我会更详细地描述我的箴言,我想要做的是有自定义策略,它确定变更集中的所有文件是否来自单个分支,因此回答您的问题我不认为这真的很重要,因为PendingChange有bot路径,LocalItem - 工作区路径,ServerItem - 源控制路径。 – Krzysiek
谢谢。请将该说明添加到您的问题中。你提供的信息越多越好。但是,我担心你要求变更集中的所有文件来自源代码管理树中高于所有文件的分支点。你的源代码控制是以“$/Main”开头并从那里分支? –