P4Python 和全局参数:-d
P4Python and global parameters: -d
我正在尝试使用 P4 为 Python 创建一个工作区。在终端中运行的命令:
p4 -d path client -S //stream name
不适用于 P4 版本:
p4.run('-d', path, 'client', '-S', //stream, name)
我收到“[错误]:"Unknown command. Try 'p4 help' for info."”。我也试过:
self.p4.protocol("-d", path)
p4.run_client('-S', //stream, name)
它不会产生此错误,但“-d”部分无效。我也试过引用,结果相同。
为什么不 运行?如何使用?
当您 运行 一个 p4 命令时,在命令名称 之前的标志(“global options”)是 CLI 客户端的标志本身,在命令之后出现的标志是服务器命令的标志。
p4.run
函数直接向服务器发送命令而不调用 p4
CLI,因此 CLI 选项将不起作用(服务器根本不实现它们,所以它'只是 return 一个使用错误)。如果您试图获得全局选项之一的效果,将有一个具有该效果的 API 函数。
例如,-d
的 P4Python 等效项是 cwd
属性:
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)
我正在尝试使用 P4 为 Python 创建一个工作区。在终端中运行的命令:
p4 -d path client -S //stream name
不适用于 P4 版本:
p4.run('-d', path, 'client', '-S', //stream, name)
我收到“[错误]:"Unknown command. Try 'p4 help' for info."”。我也试过:
self.p4.protocol("-d", path)
p4.run_client('-S', //stream, name)
它不会产生此错误,但“-d”部分无效。我也试过引用,结果相同。 为什么不 运行?如何使用?
当您 运行 一个 p4 命令时,在命令名称 之前的标志(“global options”)是 CLI 客户端的标志本身,在命令之后出现的标志是服务器命令的标志。
p4.run
函数直接向服务器发送命令而不调用 p4
CLI,因此 CLI 选项将不起作用(服务器根本不实现它们,所以它'只是 return 一个使用错误)。如果您试图获得全局选项之一的效果,将有一个具有该效果的 API 函数。
例如,-d
的 P4Python 等效项是 cwd
属性:
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)