P4 Sync命令与本地路径?

时间:2013-11-14 12:53:22

标签: perforce

我正在尝试从python中的本地路径上调用p4 sync命令。

P4dir = "D:/Perforce/Project/*"
subprocess.call("p4 sync " + P4dir)

此操作因目录错误而失败。 但是,如果我调用服务器路径,它可以正常工作:

P4dir = "//depot/Project/*"
subprocess.call("p4 sync " + P4dir) 

这可能非常简单,我有点尴尬,我不得不问,但P4命令行参数的文档缺乏很多。

那么也许有一种翻译本地路径的方法,只需检查映射就应该很简单吗?

2 个答案:

答案 0 :(得分:3)

您可以使用p4 where转换本地路径。例如:

$ p4 where /home/user/perforce/project
//depot/project //the_workspace/project /home/user/perforce/project

我在Linux机器上累了这个,所以本地路径是* nix风格,但它也适用于Windows。 p4 where也适用于./some_folder之类的相对路径,非常方便。

答案 1 :(得分:1)

我怀疑P4没有意识到你打算将它传递给本地路径。 (在Unix意义上,它看起来不像。)您是否尝试使用p4 sync *当前目录执行D:/Perforce/Project

另一方面,如果你的P4二进制文件是用Cygwin构建的,你可以将路径指定为/cygdrive/d/Perforce/Project