如何覆盖 .p4config 中的配置?

How can I override configuration in .p4config?

P4EDITOR 在 .p4config 中设置为 "vim",我想在我的 Python 脚本中使用不同的编辑器。如果我更改环境变量 P4EDITOR="custom_editor",它没有任何效果。似乎 perforce 首先查找 .p4config 文件,然后再查找环境变量。 OS : FreeBSD

如果您有足够新的命令行版本,请使用 p4 -E P4EDITOR="custom editor" command...; '-E' 标志在 p4 help undoc 中有描述,专门用于以这种方式覆盖 P4EDITOR 等变量。

或者,尝试将环境变量 P4CONFIG 设置为“.p4config”以外的值。然后你根本不会使用你的 .p4config 设置,你的 P4EDITOR 自定义设置将生效。不幸的是,您必须确保保留您希望保留的 .p4config 文件中的所有其他设置。

最好的方法是升级 p4 版本并按照@Bryan 的建议执行 p4 -E P4EDITOR="custom editor"

如果升级 P4 不是一个选项,则将现有的 .p4config 文件复制到临时文件并将 P4EDITOR=custom editor 添加到临时配置文件。如果 P4EDITOR 已经设置,则在临时配置文件中修改它。也做 export P4CONFIG=temp_config 将临时文件作为配置文件。

p4 在当前目录及其所有父目录中查找配置文件。因此,查找应该复制和修改哪个配置文件的最佳方法是执行命令 p4 set P4CONFIG。如果机器上有多个配置文件,这将非常有用。

$ p4 set P4CONFIG 
P4CONFIG=.p4config (config '/<path>/.p4config')

使用 P4CONFIG="" 告诉 Perforce 根本不要查看 P4CONFIG 文件。