2011-08-24 75 views
8

这应该是一个RTFM问题,但我无法找到它!Starteam递归添加

我刚开始在工作中使用StarTeam,并试图初始化我一直使用Git管理的存储库。我设法将文件夹添加到我的视图,但是,我似乎无法检查所有文件。我不认为任何人会注意到额外的Git信息,因此,是否有人知道如何将所有文件和文件夹递归添加到StarTeam?命令行会很好,我厌倦了与客户的战斗。

如果重要,StarTeam 2006 Release 2

+0

如果有人知道Git - > StarTeam钩子,那也会很棒! – IslandCow

回答

9

首先,添加文件夹。

右键单击顶级文件夹的父级,单击“新建...”,键入顶级文件夹名称,然后完成向导。子文件夹将默认添加。

接下来,添加文件。点击父文件夹。点击<All Files By Status>组合右侧的“显示所有后代”工具按钮。所有文件都会显示。多选择它们,单击鼠标右键,然后单击菜单上的“添加文件...”。

+2

Ooooh。那就是那个按钮所做的。谢谢!你为我节省了几个小时的精力。 – IslandCow

+1

请记住,如果你这样做,并且你有一些你通常会排除的文件夹,比如bin,obj,release,debug等 - 它仍然会将这些文件添加到视图中,然后你会想知道为什么他们内容在文件列表视图中不会被忽略,所以我想你只需要返回并删除你想忽略的文件夹。 – statikuz

+0

@statikuz:只需删除向导中的文件夹即可。 –

3

这是一个很老的问题,但我只是需要解决一个类似的问题。你可以使用stcmd命令行工具来做到这一点。像下面这样创建一个shell脚本来做到这一点。

starteamPath="user:[email protected]:port/project/view/starteampath" 
projectFolderPath="/path/to/project/folder" 
projectFolderName=`basename "${projectFolderPath}"` 

cd "${projectFolderPath}" 
cd .. 

# add folder projectfolder and all subfolders 
stcmd add-folder -p "${starteamPath}" -is -fp `pwd` -name "${projectFolderName}" 

# add all files from all subfolders 
stcmd add -p "${starteamPath}/${projectFolderName}" -is -fp "${projectFolderPath}" -EOL OFF "*" 

# check in all files of status updated an unknown 
stcmd ci -p "${starteamPath}/${projectFolderName}" -filter MU -o -EOL OFF -r "${checkinMessage}" -is -fp "${projectFolderPath}" "*" 

我认为你可以使用-exlist-exfile排除您的git的文件夹中。

我在使用Starteam 2009 v11。

0

您还可以通过选择从文件夹选项卡添加文件夹而不是使用向导创建新文件夹并排除某些文件夹,来更有选择性地执行此操作。要做到这一点显示文件夹选项卡(2006年新的我相信)和所有后代,然后选择您想要添加的文件夹,然后右键单击并选择添加。这将使大型嵌套文件夹树更容易排除不需要添加的文件夹,但作为提示,您应该确保按本地路径显示文件夹,否则会按Name显示它们,这会非常令人困惑。

您可能希望在将来保持睁大眼睛的一件事是能够协调您的本地工作区与服务器,然后选择您的操作并在单个操作(更改包)中提交所有内容。这与您在查看比较/合并工具中使用的方法类似,但在这种情况下,您需要将View与本地工作文件夹进行比较。因此,您应该能够看到需要上传到服务器的文件夹和文件,检查一切正常,然后将所有内容一起提交。

您可能想与StarTeam支持/ R & D或您的帐户代表进行核对,以查看此功能是否仍在路线图上,但我相信这是我上次与他们讨论过的计划功能。