Perforce p4取消搁置不';不带新添加的文件

Perforce p4取消搁置不';不带新添加的文件,perforce,unshelve,Perforce,Unshelve,似乎p4 unsheve-s changelist不会带来添加到搁置的变更列表中的新源文件。两个问题: 我错过什么了吗 有解决办法吗 谢谢。p4 unshelve应该忠实地打开每个被搁置的文件,以执行相应的操作-添加、编辑、集成或删除。打开的文件将以相同的工作版本打开,具有相同的解析(挂起或完成)和相同的内容 要回答您的两个问题: 对 找出你错过了什么,并修复它 添加的文件是否显示在p4 files@=SHELF中?如果不是,它们从一开始就不会被搁置。回去把它修好 您是否从p4 unshelve

似乎
p4 unsheve-s changelist
不会带来添加到搁置的
变更列表中的新源文件。两个问题:

  • 我错过什么了吗
  • 有解决办法吗

  • 谢谢。

    p4 unshelve
    应该忠实地打开每个被搁置的文件,以执行相应的操作-添加、编辑、集成或删除。打开的文件将以相同的工作版本打开,具有相同的解析(挂起或完成)和相同的内容

    要回答您的两个问题:

  • 找出你错过了什么,并修复它
  • 添加的文件是否显示在
    p4 files@=SHELF
    中?如果不是,它们从一开始就不会被搁置。回去把它修好

    您是否从
    p4 unshelve
    收到错误消息,告诉您无法取消搁置这些文件?如果是这样的话,解决这个问题


    是否已根据
    p4打开文件?如果是这样的话,或者它们确实被取消搁置,或者这就是它们无法被取消搁置的原因。

    p4 unsleve
    将打开文件进行添加,如果它们存在于传递给
    -s
    的更改列表中


    存在这样一种情况,即当文件已经存在且可写时,添加的文件不会被取消搁置。对于此类文件,您应该会看到一个错误:

    无法删除可写文件/file/path

    我在执行以下操作时经常遇到这种情况:

  • 搁置已为加载项打开文件的变更列表
    workspace1
  • 取消搁置
    工作空间2上的变更列表
  • 还原
    工作空间2
    上所有未搁置的文件,包括为添加而打开的文件
    • 现在,为添加而打开的文件将存在于
      workspace2
      中,并保持可写状态
  • workspace2上再次取消搁置变更列表
    
    • 如果您在此处检查
      p4 unshelve
      的输出,您应该会看到上面提到的错误
  • workspace2
    上运行
    p4 opened
    ,找不到为添加而打开的文件

  • 我也面临同样的问题,但就我的情况而言,这是因为我在本地打开了文件进行添加。我要取消搁置的目标搁置CL也已打开该文件以添加。因此,如果我尝试取消搁置目标搁置CL,它将发出类似以下错误消息的提示

    //depot/dir/file.h - can't unshelve (already opened for add)
    
    所以我必须做以下几点

    • p4还原
      -还原为添加打开的所有文件。这不会删除文件,它仍将存在。它将显示类似于
      //depot/dir/file.h#none-was add,discared这样的消息
    • p4取消搁置-s
      -再次取消搁置目标CL,这次应该没有错误消息。如果以前已取消搁置,但仅为添加而打开的文件有错误,则可以执行
      p4 unshelve-s
      仅取消搁置仅为添加而打开的文件

    完成,现在您可以继续工作。

    您能提供更多详细信息吗?给出一个例子,展示实际结果,描述你的期望以及它与发生的情况有什么不同,等等?谢谢你的回答。我手头没有那个变更单来尝试你的建议,但如果我面临类似的问题,我下次会尝试你的建议。