P4 取消搁置不会带来新添加的文件



似乎p4 unshelve -s changelist没有带来在搁置changelist中添加的新源文件。两个问题:

  1. 我错过了什么吗?
  2. 有什么解决方法吗?

谢谢。

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

回答您的两个问题:

  1. 是的,你错过了一些东西(但没有足够的信息来知道是什么(。
  2. 要解决此问题,请找出您错过的内容并修复它。

添加的文件是否显示在p4 files @=SHELF? 如果没有,它们从一开始就不会被搁置。 回去解决这个问题。

您是否收到来自p4 unshelve的错误消息,告诉您这些文件无法上架? 如果是这样,请修复它。

文件是否已根据p4 opened打开? 如果是这样,要么他们确实被搁置了,要么这就是他们不能被搁置的原因。

我遇到了同样的问题,但就我而言,这是因为我打开了文件以在本地添加。我要取消搁置的目标搁置 CL 也打开了该文件以进行添加。因此,如果我尝试取消搁置目标搁置的 CL,它会发出类似于以下错误消息的喊声。

//depot/dir/file.h - can't unshelve (already opened for add)

所以我必须执行以下操作

  • p4 revert <file(s)>- 还原为添加打开的所有文件。这不会删除文件,它仍然存在。它将显示类似//depot/dir/file.h#none - was add, abandoned的消息
  • p4 unshelve -s <target-CL>- 再次取消搁置目标 CL,这次应该没有错误消息。如果您之前已经取消搁置,但打开仅供添加的文件出错,则可以p4 unshelve -s <target-CL> <file1> <file2>仅取消搁置仅为添加而打开的文件。

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

如果文件存在于传递给-s的变更列表中,p4 unshleve将打开要添加的文件。


存在一种情况,即添加的文件不会被解架,这是当文件已经存在并且是可写的时。对于此类文件,您应该看到一条错误消息:

无法更改可写文件/文件/路径

当我执行以下操作时,我曾经遇到过这种情况:

  1. 搁置已打开文件以进行添加workspace1的变更列表
  2. 取消搁置workspace2上的变更列表
  3. 还原workspace2上所有未上架的文件,包括打开添加的文件
    • 现在,打开要添加的文件将存在于workspace2中,并保持可写状态
  4. workspace2上再次取消搁置更改列表
    • 如果您在此处检查p4 unshelve的输出,您应该会看到上面提到的错误
  5. workspace2上运行p4 opened,但找不到打开要添加的文件

最新更新