Perforce P4同步问题

9

我已经通过GUI使用p4v在以下路径创建了一个工作区:

/home/RND/abrodov/Perforce/abrodov_tlv-cc-32_93

我正在尝试使用p4命令,例如我已经尝试过:

p4 sync -f

我遇到了以下错误:

Client 'tlv-cc-32' unknown - use 'client' command to create it.

这是我正在使用的环境变量,用于P4
export p4v=/opt/p4v-2014.2.973065/bin
export P4PORT=IP:PORT
export P4USER=$USER
export P4CLIENT=$HOSTNAME
alias p4v="p4v &"
export PATH=$p4v:$PATH
2个回答

11

由于服务器不认识客户端“tlv-cc-32”,所以这不可能是您在P4V中使用的客户端的正确名称。

运行

p4 clients -u $P4USER

获取所有工作区名称的列表,找到您在P4V中使用的工作区。 (或者,在P4V中,使用“编辑当前连接”菜单查看您的“工作区名称:”)

然后将P4CLIENT设置为P4V工作区的正确名称,并使用'p4 info'验证服务器将该客户端名称与您计算机的根目录相关联。

然后

p4 sync -f

会很好用。

(虽然,人们会想知道,你为什么觉得需要运行'p4 sync -f'呢?)


2
你所说的“编辑当前连接”在哪里? - feeling_lonely

0

摘要

删除任何额外的空格。

详细解释。

P4命令也可能因为额外的空格而抛出此错误。 当通过环境变量(Windows)设置p4全局选项时,我遇到了类似的问题。

set GLOBAL_OPTIONS="-c sahil"                  REM **INCORRECT**
p4 %GLOBAL_OPTIONS% sync //file/path

sahil是我的工作空间名称。p4将该名称解释为“sahil”(带有空格),因此无法找到它。以下方法有效。

set GLOBAL_OPTIONS="-csahil"                  REM **CORRECT**
p4 %GLOBAL_OPTIONS% sync //file/path

出于同样的原因,在以下两个命令中,第一个无法正常工作,而第二个可以正常工作。

p4 "-c sahil" sync //file/path REM **INCORRECT**
p4  -c sahil  sync //file/path REM **CORRECT**

空格会导致这个微妙的问题,很难检测出来。在我的情况下,工作区名称“sahil”确实存在,但我不知道p4如何解释空格。

PS:这不是提问者遇到此错误的原因,但这是p4可能引发此错误的原因之一,而且让我花了一些时间才弄清楚。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接