Perforce 当出现客户端未知错误时,如何在Performce P4中设置客户端根

Perforce 当出现客户端未知错误时,如何在Performce P4中设置客户端根,perforce,perforce-client-spec,Perforce,Perforce Client Spec,突然,当我在终端中运行p4 info时,我注意到客户机根目录没有设置(不确定为什么它突然被取消设置。下面是显示“客户机未知”的输出代替客户端根目录。我可以通过什么命令来设置相同的目录?我尝试了p4 client和p4 set,但可能语法错误 BANL121b92746:Applications bagarwal2$ p4 info User name: bagarwal2 Client name: BANL121b92746 Client host: BANL121b92746.local Cl

突然,当我在终端中运行
p4 info
时,我注意到客户机根目录没有设置(不确定为什么它突然被取消设置。下面是显示“客户机未知”的输出代替客户端根目录。我可以通过什么命令来设置相同的目录?我尝试了
p4 client
p4 set
,但可能语法错误

BANL121b92746:Applications bagarwal2$ p4 info
User name: bagarwal2
Client name: BANL121b92746
Client host: BANL121b92746.local
Client unknown.
Current directory: /Applications
此客户端根目录的值是否与“工作区根目录”相同在连接->编辑工作区下的我的P4V客户端中设置。我的P4V客户端工作正常。当我的Intellij IDEA开始在p4中显示连接问题时,我发现p4 info中存在此问题。在IDEA中测试连接时,下面是错误屏幕截图,与我在终端中执行p4 info时相同

关于我的p4settings.txt配置,以下是几个月来一直有效的配置:

P4HOST=<hidden hostname>:2500
P4CLIENT=bagarwal2_BANL121b92746_trunk
P4USER=bagarwal2
P4POST=<hidden hostname>:2500
P4HOST=:2500
P4CLIENT=bagarwal2_BANL121b92746_中继
P4USER=bagarwal2
P4POST=:2500

我的P4V连接(工作正常)使用了与上述相同的详细信息/配置,但我在terminal中发现了此问题,因此在Intellij IDEA中也发现了此问题。

看起来您的p4settings.txt配置文件未被使用;否则,“p4 info”返回的客户端名称将与配置文件中的P4CLIENT值匹配。运行:

p4 set P4CONFIG=p4settings.txt
并确保在运行“p4 info”时,您是在~/dev/trunk下的目录中运行的。(问题中的“p4 info”输出将您当前的目录显示为/Applications,因此这可能可以解释问题本身——只需执行“cd~/dev/trunk”并重试。)

“client unknown”(客户端未知)错误表明您的客户端规范可能已被删除(这是假设您正在连接到同一台服务器,并且使用的客户端名称与您以前成功使用的客户端名称相同)。如果发生这种情况,您可以通过运行以下命令创建一个具有相同名称的新客户端:

p4 client

尝试
p4设置p4client=my_client

这将在注册表中存储您的首选客户端。可以使用不同的优先级和范围设置您的客户端:

  • 环境变量(每个进程可能不同)
  • P4CONFIG文件(每个文件系统位置可能不同)
  • 命令行选项(每次调用
    p4.exe
    时可能会有所不同)
但为了简单起见,您只需要使用
p4 set


顺便说一句,P4V使用自己的设置(启动P4V时默认会出现一个对话框)。

UNIX:bash、ksh、sh,

P4CLIENT=值;导出P4CLIENT

UNIX:csh

setenv客户端值

MacOSX(bash)

P4CLIENT=值;导出P4CLIENT

窗口

p4设置P4CLIENT=值

将Helix Server作为服务运行的Windows管理员可以使用p4 set-S svcnamevar=value为特定服务设置变量,或使用p4 set-S var=value为本地计算机上的所有用户设置变量

详情如下:
在环境变量中设置P4PORT。 然后当你尝试P4信息 客户端未知错误将消失&它将显示在perforce中设置的p4root值。
它对我有效。

谢谢Sam。我尝试了该命令,但它仍然显示根目录的相同错误“客户端未知”。该命令不是只设置客户端名称而不设置根目录吗?我询问的原因是在我的案例中已经设置了名称。顺便说一句,我尝试了工作区名称和具有完全绝对路径的工作区名称。“工作区名称”不是文件系统路径,因此如果使用“完全绝对路径”,则不会设置工作区名称。根目录存储在服务器数据库中,并与客户端(工作区)名称关联,因此如果使用正确的客户端(P4CLIENT)连接到正确的服务器(P4PORT)所有其他信息都会被自动记住。根据新信息进行编辑以使其更有用。由于您隐藏了P4PORT设置,我无法绝对确定您是否连接到了错误的服务器,但如果服务器正确且客户端名称正确,唯一剩下的解释是您的客户端规范已被删除删除。运行“p4客户端”重新创建它。谢谢。我尝试了该命令,但仍然显示相同的错误“客户端未知”对于根目录。我尝试使用工作区名称和具有完全绝对路径的工作区名称。此命令不是只设置客户端名称而不设置根目录吗?我询问的原因是在我的案例中已经设置了名称。根目录是客户端的一个属性。要设置它,请使用P4V,查看>工作区>按名称查找(BANL121b92746)>右键单击并选择编辑>设置其工作区根目录。如果已设置,则可以继续。(但我不确定什么不适合您。)再次感谢。在P4V中,工作区名称和根目录都已正确设置,P4V客户端工作正常。我正在键入“p4 info”检查其信息的是p4安装在终端中,我认为这是错误的。当我的Intellij IDE在检查P4文件时突然弹出“client unknown”错误来抱怨这一点时,我才知道。为什么你认为Intellij会因为“client root”而失败在
p4 info
中缺失?IDEA使用
p4 info
来实现这一点的地方是否有文档记录?(如果有,我会非常惊讶。)而且,对我来说,“客户端未知”意味着“客户端名称未知”(如客户端未设置),而不是“客户端根未知”。您好,我只是在问题中添加了一些详细信息。我假设我的Intellij由于这个原因失败,因为我已将IDEA中的p4可执行文件设置为“/Applications/p4”,而不是任何Intellij安装的p4+。IDEA和terminal都会出现相同的问题。可能它不会调用“p4 info”就其本身而言,但这绝对是一个连接问题,我不知道如何解决。首先,当它发生时,这样的事情怎么会突然发生