0

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

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

谢谢。

4

3 回答 3

1

我遇到了同样的问题,但就我而言,这是因为我打开了文件以在本地添加。我想取消搁置的目标搁置 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>取消搁置那些为仅添加而打开的文件。

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

于 2020-12-15T14:29:42.673 回答
1

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

回答你的两个问题:

  1. 是的。
  2. 找出你错过了什么并修复它。

添加的文件是否显示在 中p4 files @=SHELF?如果没有,它们一开始就没有被搁置。回去修复它。

您是否收到一条错误消息,p4 unshelve告诉您这些文件无法取消搁置?如果是这样,请修复它。

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

于 2020-02-02T06:47:09.703 回答
0

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


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

无法破坏可写文件/文件/路径

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

  1. 搁置一个已打开文件以供添加的更改列表workspace1
  2. 取消搁置更改列表workspace2
  3. 还原上所有未搁置的文件workspace2,包括为添加而打开的文件
    • 现在,为添加而打开的文件将存在workspace2并保持可写状态
  4. 再次取消搁置更改列表workspace2
    • 如果您检查p4 unshelve此处的输出,您应该会看到上面提到的错误
  5. 继续运行p4 openedworkspace2找不到为添加而打开的文件
于 2020-08-18T14:28:32.770 回答