我们的 CruiseControl 系统从 starteam 签出。我注意到它有时不检查新版本的文件,只检查添加的文件。
有人知道为什么吗?
我们的 CruiseControl 系统从 starteam 签出。我注意到它有时不检查新版本的文件,只检查添加的文件。
有人知道为什么吗?
我不能说为什么会发生这种情况,但无论如何,我们通过让 StarTeam 在签出前删除所有本地文件来完全避免这个问题。我们以这种方式获取所有文件。我们在 NAnt 脚本中使用以下 StarTeam 参数:
delete-local -q -p "${starteam_project_root}" -is -filter "N" -cfgd "${exec_time}"
这意味着:
delete-local -q -p "user:passwd@SERVER:49201/ProjectName/" -is -filter "N"-cfgd "09/18/2008 14:33:22"
我最近遇到了同样的问题。发生这种情况的原因与您在 GUI 中看不到过期文件或您有一个状态未知的文件、状态未更新的原因相同。因此,如果您更新文件的状态,它将能够从源代码管理中获取那些已更改的文件。我们通过在配置文件中添加一个步骤来实现这一点。
<prebuild>
<exec>
<executable>C:\Program Files\Borland\StarTeam Cross-Platform Client 2006 R2\stcmd.exe</executable >
<buildArgs>update-status -nologo -is -q -p "username:password@192.168.0.1:49201/Code Project/Code Path" -fp "C:\projects\My Code Directory"</buildArgs>
<buildTimeoutSeconds>0</buildTimeoutSeconds>
</exec>
</prebuild>
这是一个 CI 构建,所以我想查看每个构建的差异,清理构建每次都会给我一个新的构建,我不知道什么是新的。
所以这是一个已知问题?
如果您正在使用 StarTeam Ant 任务,请检查您为包含和排除参数设置的内容,以确保您不会无意中限制要签出的内容。
此外,强制和递归参数也可能需要查看。
您可以在此处查看结帐任务的完整说明:
http://nantcontrib.sourceforge.net/help/tasks/stcheckout.html