繁体   English   中英

perforce p4 同步问题

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM