Perforce 命令行 p4 移动给出 "file(s) not opened on this client" 错误

Perforce command line p4 move gives "file(s) not opened on this client" error

我需要在一个大型项目中将一堆.hpp文件重命名为.h,所以使用客户端是不可能的(除非有重命名*.hpp *.h的选项我还没有找到).所以我之前在不同的工作区做过这个并且工作正常。我有一个应用程序创建了一个包含所有移动命令的批处理文件,嘿,转瞬即逝,许多文件已重命名。

我用 p4 设置了所有内容:

P4CLIENT=tyrel.vanniekerk_8.0.6 (set)
P4EDITOR=C:\Program Files\Notepad++\notepad++.exe (set)
P4PASSWD=******* (set)
P4PORT=ssl:servername:port (set)
P4USER=tyrel.vanniekerk (set)
P4_ssl:servername:port_CHARSET=none (set)

和运行命令:

p4 move "D:\Folder\Header.hpp" "D:\Folder\Header.h"

并得到:

D:\Folder\Header.hpp - file(s) not opened on this client.

我在 P4V 中重命名了它,它输出了完全相同的命令。我将我的客户端设置为其他内容,并收到有关文件不在该客户端中的错误,因此我认为客户端名称是正确的。

我错过了什么?

p4 move 对已经打开的文件进行操作——将其视为一种编辑(但不是编辑内容,而是编辑名称)。因此:

p4 edit Header.hpp
p4 move Header.hpp Header.h

您可以在 p4 move 命令之前或之后编辑内容,并且您可以多次 p4 move 一个文件(如果将其移回其原始名称,它会保留任何内容更改你同时做了。

2017.1 版本有一个 p4 move -r 命令,其行为类似于 p4 edit + p4 move.