0

当我在 teamcity 代理上执行 Perforce vcs 根结帐时,我看到创建了一个以“TC_p4_ ”开头的工作区,但我在代理上找不到这个文件夹。这个“TC_p4_ ”在 Teamcity 中的映射在哪里?我没有为 teamcity 中的 vcs 根启用任何签出规则。

我的 vcsroot 客户端映射设置在 teamcity 中如下所示:
//vcsroot/stream_name/... //team-city-agent/...

此外,当我使用 p4 命令行命令(如 p4 sync、p4 revert 等)对 vcs root 中使用的 Perforce 流进行结帐、恢复或提交时,我在 Teamcity 中不断收到以下错误。

警告:无法从非流客户端提交

有人可以帮我解决我在这里缺少的东西。感谢任何类型的指示并通过您的回复提供帮助!

4

2 回答 2

2

首先查看客户的详细信息。您无需在 TC 代理上执行此操作 - 任何连接到您的 P4 服务器的盒子都可以。您的选择是:

  1. 在 P4V 中,按 Ctrl-G > 选择工作区 > 输入TC_p4_...名称。
  2. p4cmdline 客户端中,运行p4 client -o TC_p4_....

其中任何一个都会向您显示工作区的“根”(以及“主机”,它应该是您的 TC 代理的主机名)。这会给你一个提示在哪里看代理。

现在,我怀疑您无法同步、还原等,因为当您运行这些命令时,您的环境设置不正确。而不是p4 sync和类似的,尝试运行p4 set. 它是否正确识别服务器(P4PORT)和客户端(TC_p4_...)?如果没有,您必须先解决此问题,这可以通过多种方式完成。

于 2017-03-14T08:16:28.330 回答
0

解决方案是在 Teamcity 中创建一个 vcs 根,将 P4 连接作为流,而不是在创建 vcs 根时使用客户端映射来执行 perforce 提交、还原、同步等,而不是收到错误“警告:无法从非流式客户端”

https://confluence.jetbrains.com/display/TCD9/Perforce

于 2017-03-15T18:12:27.190 回答