Starteam 2005 COM API
时间:2020-03-06 14:41:27 来源:igfitidea点击:
有没有人使用过StarTeam COM API(特别是与C#集成)。
我需要编写一个帮助程序函数,该函数从Starteam返回一个目录结构,但是使用此API我能够检索到的只是一个视图列表。
还有其他人尝试过吗?
解决方案
Starteam对象模型是启发式的,项目包含视图,视图包含文件夹,文件夹包含项目(子文件夹,文件,cr等)
因此,一旦有了视图列表,就可以获取属于该视图的文件夹,然后,我们将拥有一些属性来确定它们如何映射到本地文件系统,视图对象和文件夹对象都具有只读路径属性。但是,还有其他4个感兴趣的属性,在查看对象的DefaultPath和AlternatePath属性以及文件夹对象的DefaultPathFragment和AlternatePathFragment上。
哦,出于完整性考虑,如果我们不想自己编写递归代码来浏览文件夹的目录,那么可以使用一个名为FolderListManager的帮助器类来为我们完成艰苦的工作
void BtnFindClick(object sender, EventArgs e) { Borland.StarTeam.View v = StarTeamFinder.OpenView("username:pwd@server:49201/Project"); FolderListManager lm = new FolderListManager(v); lm.IncludeFolders(v.RootFolder,-1); // -1 means recursively add child folders StringBuilder sb = new StringBuilder(); foreach(Folder f in lm.Folders) { sb.AppendLine(f.Path); } txtResults.Text = sb.ToString(); }
我们无需使用COM即可访问StarTeam API。有可用的.Team StarTeam SDK的.NET版本。