我有一个perforce客户端perforce.clientA,它具有以下映射映射
//allprojects/... //perforce.clientA/...
然后,我在所有项目perforce.clientB
下为特定项目创建了一个客户端 / /allprojects/myProject/... //perforce.clientB/ ...
当我为clientB运行p4 sync时,它失败并显示错误
Path '/location/to/clientB/...' is not under client's root 'location/to/clientA'.
项目是否可能位于两个客户端空间中?我做错了什么?
答案 0 :(得分:3)
当您为clientB运行同步时,您需要告诉服务器您正在同步clientB;错误消息表明您已经告诉服务器您正在使用clientA(可能隐含地通过环境变量),但是您给了它一个与clientB一起的本地路径,并且无法通过clientA&转换#39;映射。明确指定特定命令的客户端规范的方法是-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到客户端根目录下的某个位置会切换到该客户端。