P4 与本地路径同步命令



我正在尝试从python内部在本地路径上调用p4同步命令。

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

此操作失败,并显示不存在的目录错误。但是,如果我调用服务器路径,它可以正常工作:

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

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

那么有没有一种方法可以转换本地路径,只需检查映射就应该很简单?

您可以使用

p4 where转换本地路径。例:

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

我在 Linux 盒子上厌倦了它,所以本地路径是 *nix 样式,但它也应该在 Windows 上运行。 p4 where也适用于相对路径,如./some_folder,非常方便。

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

换个角度,如果你的P4二进制文件是用Cygwin构建的,你可以将路径指定为/cygdrive/d/Perforce/Project

最新更新