[英]perforce p4 sync issue
我在以下路径中使用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
由于服务器不知道客户端“tlv-cc-32”,因此它不能是您与 P4V 一起使用的客户端的正确名称。
跑
p4 clients -u $P4USER
获取所有工作区名称的列表,然后找到与 P4V 一起使用的名称。 (或者,在 P4V 中,使用“编辑当前连接”菜单查看您的“工作区名称:”)
然后将 P4CLIENT 设置为 P4V 工作区的正确名称,并使用“p4 info”来验证服务器是否将该客户端名称与工作站的根目录相关联。
然后
p4 sync -f
会工作得很好。
(不过,有人想知道,为什么您觉得需要运行“p4 sync -f”?)
概括
删除任何多余的空格。
详细解释。
由于额外的空格,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
出于同样的原因,在以下 2 个命令中,第一个无法工作,第二个工作正常。
p4 "-c sahil" sync //file/path REM **INCORRECT**
p4 -c sahil sync //file/path REM **CORRECT**
空间导致了这个难以察觉的微妙问题。 在我的情况下,工作区名称“sahil”确实存在,但是我不知道 p4 如何解释空格。
PS:不是问题的作者面临这个错误的原因,而是 p4 可以抛出这个错误的原因之一,我花了一些时间才弄清楚。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.