You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

含搁置文件的Perforce变更列表提交失败,如何解决?

解决Perforce变更列表提交失败的问题

问题分析

你的核心问题是目标变更列表存在搁置文件,导致无法直接提交;而使用-e参数属于误用,它仅用于编辑变更列表描述,不处理提交逻辑。

分步解决方案

  1. 取消变更列表的文件搁置
    先把变更列表中搁置的文件恢复到本地工作区,清除搁置状态:

    p4 unshelve -c nnn
    

    (在P4V中操作:右键目标变更列表 → 选择「Unshelve」,确认恢复文件)

  2. 确认文件归属(可选)
    检查所有需要提交的文件是否都归属于这个变更列表,避免分散到子集变更列表:

    p4 opened -c nnn
    

    如果有文件在其他变更列表,执行以下命令将其移到目标变更列表:

    p4 reopen -c nnn //depot/path/to/target/file
    
  3. 正常提交变更列表
    现在可以直接提交目标变更列表了:

    p4 submit -c nnn
    

    (P4V中操作:右键目标变更列表 → 选择「Submit」即可)

为什么之前的操作失败?

  • 当变更列表存在搁置文件时,Perforce会阻止提交,因为搁置文件是暂存在服务器的版本,本地工作区可能未同步这些变更,必须先通过unshelve恢复到本地。
  • p4 submit -e nnn中的-e参数作用是编辑变更列表的描述信息,而非提交文件,所以会出现「No files to submit」的错误。

内容的提问来源于stack exchange,提问作者cardiff space man

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 21:52:35