澄清一下,您是否打算以某种自动化方式从starteam 中检查项目的所有标记版本?
如果是这样,那我想你会想要使用starteam自带的“stcmd”命令行工具。
'stcmd' 位置
- 对于 Linux:它位于安装的“starteam/bin/”子文件夹中
- 对于 Windows:它位于“C:\Program Files\Borland\StarTeam SDK 14.0\lib\stcmd.exe”之类的位置
通过 'stcmd' 执行结帐
stcmd checkout 命令是“stcmd co ...”(后跟各种参数)。这是一个虚拟示例:
stcmd co -p
"USER:PASSWD@SERVER:PORT/PROJ/VIEW ”
-cfgl LABELNAME -eol lf -o -rp /local/path/to/working/folder -filter MOI
用您的用户名、密码、服务器地址+端口、项目名称、视图名称、标签名称和结帐路径(工作文件夹)替换粗体项目。
您可以通过键入以下内容了解有关各种其他 stcmd 检出参数(例如,-eol、-o、-filter)的更多信息:
stcmd co -?
值得评估这些额外参数以确定它们是否是您的场景中需要的,或者您是否更喜欢不同的设置。
获取视图中所有标签的列表
好的,您现在可以结帐,但我认为您问题的另一方面是能够迭代一组结帐(我认为您打算在其中检查每个单独的标签)。
所以要得到一个标签列表,你可以这样做:
stcmd 列表标签 -p
"USER:PASSWD@SERVER:PORT/PROJ/VIEW ”
...或者,stcmd 工具现在有一个类似 sql 的查询系统,它也可以做到这一点,但我无法让它以这种方式工作:
stcmd connect username@server:port
stcmd set project = PROJ view = VIEW
stcmd select Name from Label
这目前会导致一个错误,尽管我认为它应该以这种方式工作,所以它可能是一个值得报告给 microfocus 在这个位置的论坛上的错误(如果你对这种方法感兴趣的话):
http://community.microfocus.com/borland/managetrack/starteam/f/
把它们放在一起
在您获得标签列表并能够查看标签之后,希望您能够以某种适合您的脚本语言将这两种机制融合在一起。
通过 StarTeam SDK
解决此问题的另一种方法可能是编写一个使用 starteam SDK 的 java 应用程序(这是用于 Starteam 的 Microfocus 的 java-api)。
此路径将花费更多的精力和时间,SDK 的奖励是让您比 stcmd 工具可以提供更多的控制和访问数据库信息。
结论
所以我的猜测是,对于您的初始需求,stcmd 的一些脚本使用将为您完成工作。如果您需要 stcmd 工具无法提供的更多详细信息,则可能需要深入研究 StarTeam SDK 作为替代方案。