1

我正在尝试使用 P4 for Python 创建一个工作区。在终端中工作的命令:

p4 -d path client -S  //stream name

不适用于 P4 版本:

p4.run('-d', path, 'client', '-S',  //stream, name)

我收到“[错误]:”未知命令。尝试“p4 help”获取信息。""。我也试过:

self.p4.protocol("-d", path)
p4.run_client('-S', //stream, name)

它不会产生此错误,但“-d”部分无效。我也尝试过引用,结果相同。为什么它不运行?如何使用它?

4

1 回答 1

4

当您运行 p4 命令时,命令名称之前的标志(“全局选项”)是 CLI 客户端本身的标志,命令之后的标志是服务器命令的标志。

p4.run函数在不调用 CLI 的情况下直接向服务器发送命令p4,因此 CLI 选项不起作用(服务器根本没有实现它们,所以它只会返回一个使用错误)。如果您试图获得全局选项之一的效果,将会有一个具有该效果的 API 函数。

例如,P4Python 的等价物-dcwd属性:

https://www.perforce.com/manuals/p4python/Content/P4Python/python.p4.html#Instance_Attributes_..37

所以而不是:

p4.connect()
p4.run('-d', path, 'client', '-S',  //stream, name)

做:

p4.cwd = path
p4.connect()
p4.run('client', '-S',  //stream, name)
于 2017-04-10T19:14:19.067 回答