使用p4 move移动文件后其他客户端是否需要重新下载对应文件?
同步p4 move提交的文件是否需要重新下载
2019.1及以上版本的Perforce客户端(p4命令行、P4V等)默认开启了移动文件识别优化,其他客户端同步对应版本时不需要重新下载文件:客户端会自动匹配配对的move/delete和move/add记录,确认文件内容未发生变更后,直接在本地工作区执行文件移动操作,仅会和服务器交互少量元数据,不会拉取完整文件内容。
如果是2019.1之前的旧版本客户端,默认没有该优化,同步时会先删除原路径文件,再从服务器全量下载文件到新路径,大文件或大批量文件场景下会占用额外带宽和时间。
优化配置及最优操作方案
- 旧版本客户端开启移动识别的方法:
- 命令行客户端:执行
p4 client打开工作区配置,将Options字段中的nomoves参数修改为moves,保存配置后即可生效 - P4V客户端:依次点击顶部菜单「编辑」→「偏好设置」→「文件处理」,勾选「同步时检测并重命名移动的文件」选项即可
- 命令行客户端:执行
- 手动移动文件后执行
p4 reconcile和提前执行p4 move的最终效果完全一致,提交后服务器都会生成配对的移动状态记录,其他开启了移动识别的客户端同步时都可以触发本地移动优化,不存在功能差异。 - 操作选择建议:
- 还未执行文件移动操作时,优先使用
p4 move,不需要后续额外执行reconcile,步骤更简洁,不易出现遗漏文件的问题 - 已经在本地批量完成了文件移动操作时,直接执行
p4 reconcile即可,不需要撤销移动再重新用p4 move操作,效率更高
- 还未执行文件移动操作时,优先使用
内容的提问来源于stack exchange,提问作者drumber
相关产品推荐
相关产品推荐

