p4 移动是否意味着其他客户端必须重新下载该文件?

Does p4 move mean that other clients have to redownload that file?

如果我使用 p4 move 移动一个大文件(或大量文件),这样当其他客户端得到它时,它们被强制标记为 move/deletemove/add修订,他们必须重新下载那些文件吗?或者它会认识到它可以只在本地移动这些文件。

如果这不是默认行为,有什么办法可以实现吗?还是最好手动移动文件并进行协调?

文件将被重新下载,至少从我使用的服务器版本开始。我所知道的唯一避免为新同步修订下载内容的特殊情况优化是客户端文件已重新映射到不同(相同)的软件仓库文件的情况。同步移动的文件就像删除旧文件并添加新文件一样处理:

C:\Perforce\test\move>p4 -vrpc=3 sync ... | grep "RpcRecvBuffer func"
RpcRecvBuffer func = protocol
RpcRecvBuffer func = client-Crypto
RpcRecvBuffer func = flush1
RpcRecvBuffer func = client-Message
RpcRecvBuffer func = client-DeleteFile
RpcRecvBuffer func2 = B719AE71314697DE0C0C3AC29A76903D
RpcRecvBuffer func = client-Ack
RpcRecvBuffer func = client-Message
RpcRecvBuffer func = client-OpenFile
RpcRecvBuffer func = client-WriteFile
RpcRecvBuffer func = client-CloseFile
RpcRecvBuffer func2 = B719AE71314697DE0C0C3AC29A76903D
RpcRecvBuffer func = client-Ack
RpcRecvBuffer func = flush1
RpcRecvBuffer func = release

如果您有大量移动文件并且想避免下载,那么手动移动然后协调确实听起来是最好的解决方法。