perforce p4同步问题

时间:2015-01-13 12:06:30

标签: version-control perforce

我已使用以下路径中的p4v通过GUI创建了工作区:

/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 个答案:

答案 0 :(得分:6)

由于客户端'tlv-cc-32'对于服务器是未知的,因此它不能是您正在使用P4V的客户端的正确名称。

运行

p4 clients -u $P4USER

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

然后将P4CLIENT设置为P4V工作区的正确名称,并使用“p4 info”验证服务器是否将该客户端名称与工作站的根目录关联。

然后

p4 sync -f

工作得很好。

(虽然,有人怀疑,为什么你觉得需要运行'p4 sync -f'?)

答案 1 :(得分: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可能引发此错误的原因之一,这使我花了一些时间来弄清楚。