如何将perforce工作区指向跨两台计算机同步的项目?

sqe*_*ixs 3 linux windows workspace perforce

我有一个eclipse同步项目,我在我的Windows机器上工作,然后在linux构建服务器上同步和编译它.但是,Windows工作区连接到perforce,而linux工作区则没有.问题是当Eclipse同步这两者时,权限会在linux端搞砸,这样我就无法执行通常在构建期间执行的某些shell脚本.我的解决方法是在执行构建之前以某种方式c​​hmod所有*.sh文件,但我宁愿让perforce知道这两个地方(这样我也可以从linux端或windows端提交).出于性能原因,我无法在远程构建服务器上运行eclipse,因此这是我找到的唯一解决方案.此外,当我尝试为linux端设置第二个工作区时,它给了我错误说"无法破坏X".我认为主要的问题是我在这里处理某种权限问题.

sqe*_*ixs 6

我可能找到了答案.根据perforce 文档:

默认情况下,您只能在Host:字段指定的计算机上使用工作区.如果要在具有不同平台的多台计算机上使用相同的客户端工作区,请删除Host:条目并在客户端规范中设置AltRoots:字段.您最多可以指定两个备用客户端工作空间根.必须在将使用它们的所有计算机上显示这些位置,例如通过NFS或Samba挂载.Perforce将当前工作目录与主Root进行比较:首先,然后针对两个AltRoots:如果指定.使用与当前工作目录匹配的第一个根.如果没有根匹配,则使用主根.注意如果在任何客户端根目录中使用Windows目录,请将Windows目录指定为主客户端Root:并在AltRoots:字段中指定其他工作空间根目录.在以下示例中,如果用户bruno的当前工作目录位于/ usr/bruno下,则Perforce使用UNIX路径作为其客户端工作空间根目录,而不是c:\ bruno_ws.此方法允许bruno为UNIX和Windows开发使用相同的客户端工作空间规范.客户:bruno_ws所有者:bruno描述:由bruno创建.Root:c:\ bruno_ws AltRoots:/ usr/bruno /要查找哪个工作区根目录有效,请发出p4 info命令并检查客户端root:字段.如果您在不同平台的同一工作区中编辑文本文件,请确保您使用的编辑器和设置保留行结尾.有关跨平台设置中的行结尾的详细信息,请参阅Perforce系统管理员指南.