编辑搁置的文件和其他文件后,p4搁置

时间:2014-04-16 12:32:30

标签: perforce

我搁置了文件a.txt, b.txt, c.txt

现在我想对a.txt和b.txt进行一些更改并搁置一个新文件d.txt

所以,

  1. 作为第一步,使用p4 unshelve -s <changelist>取消搁置a​​.txt,b.txt和c.txt
  2. 更改a.txt,b.txt和c.txt
  3. 现在该怎样????? (直到这里我很好,现在应该是下一步搁置a.txt,b.txt,c.txt以及d.txt的变化)
  4. 注意:在步骤2之后,作为步骤3,如果我尝试再次给出p4 shelve,它只显示d.txt搁置但不显示a.txt b.txt和c.txt。

    有没有简单的方法呢?

2 个答案:

答案 0 :(得分:2)

当您执行p4 shelve时,您应该获得更改号码。如果您忘记了,p4 opened会告诉您。您需要重新打开d.txt并使用p4 reopen -c <change#> d.txt为其更改号码。然后运行p4 shelve -r以更新搁置的文件。

答案 1 :(得分:2)

正如其他人在他们的回答中所指出的那样,当你搁置它们时,所有文件必须在同一个更改列表中,因此你需要将它们重新打开到正确的更改列表中才能更新原始文件架。

但是,我想鼓励你避免更新货架的习惯。

根据我的经验,创建一个新架子几乎总是更好,并保持旧架子作为您的更改的原始“版本”。

货架本身未进行版本控制,因此当您更新货架时,会使用最新副本覆盖货架的上一份副本。

当您进行迭代更改并使用货架捕获它们的快照时,创建多个货架(每个快照一个货架)非常好,这样您就可以在不同的方法之间来回转换。< / p>

毕竟,你可能认为你毕竟不想要d.txt,并且你想回到你只有a.txt,b.txt和c.txt的方法。

如果你已经创建了两个独立的架子,你可以在它们之间来回移动。

然后,一旦你最终决定(并提交你决定使用'submit -e'的书架),你可以通过运行'shelve -d -c NNN'和'change -d NNN来丢弃其他书架'并且服务器将完全清理那些不再需要的货架所使用的所有资源。