出现客户端未知错误时如何在 Perforce P4 中设置客户端根目录

How to set client root in Perforce P4 when client unknown error comes

突然,当我在终端中 运行 p4 info 时,我注意到客户端根目录未设置(不知道为什么突然取消设置。以下是显示 "client unknown" 代替客户端 root。我可以通过什么命令来设置相同的命令?我已经尝试了 p4 clientp4 set,但可能语法错误。

BANL121b92746:Applications bagarwal2$ p4 info
User name: bagarwal2
Client name: BANL121b92746
Client host: BANL121b92746.local
Client unknown.
Current directory: /Applications

并且此客户端根目录的值是否与 "Workspace Root" 在我的 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

我的 P4V 连接(一切正常)使用与上面提到的相同的 details/config,我仍然在终端中发现了这个问题,因此在 Intellij IDEA 中也发现了这个问题。

您的 p4settings.txt 配置文件似乎没有被使用;否则 "p4 info" 返回的客户端名称将匹配配置文件中的 P4CLIENT 值。 运行:

p4 set P4CONFIG=p4settings.txt

并确保当您 运行 "p4 info" 时,您是从 ~/dev/trunk 下的目录中执行此操作的。 (您在问题中的 "p4 info" 输出将您的当前目录显示为 /Applications,因此这可能会自行解释问题 - 只需执行 "cd ~/dev/trunk" 并重试。)

"client unknown" 错误表明您的客户端规范可能已被删除(这是假设您连接到同一台服务器并使用您之前成功使用的相同客户端名称)。如果发生这种情况,您可以通过 运行ning:

创建一个同名的新文件
p4 client

尝试p4 set p4client=my_client

这会将您的首选客户端存储在注册表中。有 other ways 设置您的客户端,具有不同的优先级和范围:

  • 环境变量(每个进程可能不同)
  • P4CONFIG 文件(每个文件系统位置可能不同)
  • 命令行选项(每次调用 p4.exe 可能不同)

但为简单起见,使用 p4 set 即可。

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

UNIX: bash, ksh, sh,

P4CLIENT=值;导出 P4CLIENT

UNIX:csh

setenv P4CLIENT 值

Mac OS X (bash)

P4CLIENT=值;导出 P4CLIENT

Windows

p4 设置 P4CLIENT=值

Windows administrators 运行 Helix Server as a service 可以通过 p4 set -S svcnamevar=value 为特定服务设置变量,或者为本地机器上的所有用户设置变量p4 set -s var=value.

这里有更多详细信息: https://www.perforce.com/manuals/cmdref/Content/CmdRef/envars.html

在环境变量中设置P4PORT。 那么当你尝试 P4 信息时 客户端未知错误将消失,它将显示在 perforce 中设置的 p4root 值。 它对我有用。