p4状态"路径不在客户端的根目录下#34;

时间:2014-06-16 13:32:19

标签: perforce

我的计算机上有两个Perforce工作区,一个位于c:\dev,另一个位于c:\code。当我在p4 status中运行c:\code时,收到错误消息

Path 'c:\code\...' is not under client's root 'c:\dev'

p4 reconcile也是如此。如何让命令工作?很明显,它正试图对错误的回购运行命令。

4 个答案:

答案 0 :(得分:15)

如果您未明确设置P4CLIENT环境变量,Perforce将使用默认工作区。我不知道它如何决定哪个工作区是默认的。无论如何,它已默认为您已将其映射到C:\dev的根。您需要切换到工作区code(或其实际名称)。在命令行中键入以下命令以切换工作空间:

p4 set P4CLIENT=[client name]

当然,您将替换" [客户名称]"使用工作区的名称,其根目录已映射到C:\code

答案 1 :(得分:4)

对乌鸦的回答进行了一些扩展。默认情况下,如果您未设置P4CLIENT,则perforce会将您的计算机名称作为默认客户端名称。因此,如果你想使用另一个客户端,你必须使用p4 set P4CLIENT=[client name],它将为你运行的每个p4实例设置它,无论你在哪个命令窗口。你也可以做{{1在命令行上,它只在您运行的命令窗口中有效。

此外,您可以使用set P4CLIENT=[client name],因为-c是全局选项,您可以将其提供给所有p4命令。

答案 2 :(得分:0)

我意识到当我的子窗口中有活动的过滤器(例如“待处理”,“工作区”等)时,会出现这些错误。清除筛选器,然后尝试切换工作区。这可能会有帮助。

答案 3 :(得分:-1)

确保您在有效目录上发送命令(在工作区...下)

例如,如果您的工作区位于 C:\workspace

并且您正在从 C:\temp 发送命令

你应该在“p4 status”之前使用“cd C:\workspace”