Synchronization perforce能否为同一视图提供两个客户端?

Synchronization perforce能否为同一视图提供两个客户端?,synchronization,root,perforce,Synchronization,Root,Perforce,我有一个Performce客户端performe.clientA,它映射了以下视图 //allprojects/... //perforce.clientA/... 然后,我在所有项目performe.clientB下为特定项目创建了一个客户机 //allprojects/myProject///perforce.clientB/… 当我为clientB运行p4 sync时,它会失败并出现错误 Path '/location/to/clientB/...' is not under clien

我有一个Performce客户端performe.clientA,它映射了以下视图

//allprojects/... //perforce.clientA/...
然后,我在所有项目performe.clientB下为特定项目创建了一个客户机

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

当我为clientB运行p4 sync时,它会失败并出现错误

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'刻录到客户端根目录下的某个位置将切换到该客户端。

谢谢,这非常有帮助。