我已使用以下路径中的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
答案 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可能引发此错误的原因之一,这使我花了一些时间来弄清楚。