perforce 可以有两个客户用于相同的视图吗?

Can perforce have two clients for the same view?

我有一个 perforce 客户端 perforce.clientA 映射了以下视图

//allprojects/... //perforce.clientA/...

然后我在所有项目下为特定项目创建了一个客户端perforce.clientB

//allprojects/myProject/... //perforce.clientB/ ...

当我 运行 客户端 B 的 p4 同步失败并出现错误时,

Path '/location/to/clientB/...' is not under client's root 'location/to/clientA'.

一个项目可以在两个客户空间吗?我做错了什么?

当您运行同步clientB时,您需要告诉服务器您正在同步clientB;错误消息表明您已经告诉服务器您正在使用 clientA(可能通过环境变量隐含地),但是您给了它一个与 clientB 一起使用的本地路径,并且无法通过 clientA 的映射进行转换。为特定命令显式指定客户端规范的方法是 -c 全局选项,例如:

p4 -c clientB sync

这对于经常使用来说显然很麻烦;更简单的方法是为每个客户端创建一个 P4CONFIG 文件,例如:

p4 set P4CONFIG=.p4config
echo P4CLIENT=clientA>/location/to/clientA/.p4config
echo P4CLIENT=clientB>/location/to/clientB/.p4config

完成后,cd'ing 到客户端根目录下的某个位置会将您切换到该客户端。