如何在TeamCity上查看带有p​​4的文件?

时间:2015-10-27 11:14:20

标签: teamcity perforce

到目前为止,我有这个命令:

p4 -p port:host -u user -P password edit -c default C:\tc\1890hagn\text.txt

然而它以Client 'MYMACHINE' unknown - use 'client' command to create it.回复我该如何解决?我必须在TeamCity上运行这个checkout命令,理想情况下我会使用TeamCity的perforce会话。

(端口,主机,用户,密码,C:\ tc \ 1890hagn \ text.txt和MYMACHINE只是该问题的虚拟名称)

1 个答案:

答案 0 :(得分:2)

您是否定义了涵盖您的软件仓库区域的VCS根目录?

您说您想使用TeamCity的Perforce工作区,因此您需要拥有VCS根目录。我认为TeamCity将其客户命名为TC_p4_MYMACHINE_a91128fb222f8594_282888d26bc0a9d1(而非普通MYMACHINE),并使用%P4CLIENT%(环境变量)告诉Perforce它希望在此客户端中工作。运行构建,然后切换到构建的 Parameters 选项卡,查看env.P4CLIENT的值是什么。

我认为如果定义了env.P4CLIENT / %P4CLIENT%,那么您的p4.exe命令行应该选择值。 (虽然你所描述的内容恰恰相反:p4.exe试图使用MYMACHINE的事实表明它没有看到P4CLIENT;我相信主机名是Perforce'默认客户端名称。)如果缺少env.P4CLIENT,您可能无法设置VCS根目录。

附注:使用TeamCity的工作空间看起来很方便(必须创建自己的工作空间的替代方案似乎很复杂)但有一个缺点:如果你的构建中途中断了,你就可以了。将在TeamCity的工作区中留下一个带有签出文件的待定更改列表。然后,当TeamCity尝试清理该工作区时(它会不时地这样做)它将报告一个问题,因为它无法删除已打开其中文件的工作区。