p4v不会删除搁置后通过`p4 add`添加的新文件

时间:2016-05-04 17:08:05

标签: perforce p4v

我今天试图搁置文件并检查Revert checked out files after they are shelved选项,搁置文件后,一些文件已被还原,但有些文件仍然存在。看来这些是通过p4 add添加的新文件。搁置后不删除此类文件的默认行为是什么?有没有办法在搁置过程中删除它们?

1 个答案:

答案 0 :(得分:4)

你在P4V中所做的事情(搁置与还原)实际上是两个命令的简单组合:shelverevert。在幕后,P4V将搁置您的工作(肯定会这样做),然后还原您的更改列表中的所有内容。

现在,revert命令以这样一种方式恢复p4 add,使它们从你的更改列表中消失(恢复的本质),但它们仍保留在本地文件系统上(以防止无意中丢失代码/数据)。是的,你可以说,在这方面,revert并没有很好地完全恢复你的工作,但显然Perforce决定通过不删除你的工作来保证安全。

正如@Bryan Pendleton所说,当您还要从文件系统中删除p4 revert -w时,可以使用p4 revert而不是普通p4 add。它不是一个单独的命令,只是p4 revert的变体。但是,在运行P4V的“Shelve-and-Revert”组合操作时,无法指定-w标志(-w行为)。 (事实上​​,即使在P4V的简单“Revert”动作中也无法指定-w。)

我假设你不会因为这个原因从P4V切换到命令行(运行p4 shelve后跟p4 revert -w),所以请记住P4V有这个小怪癖和如果需要,请在还原后删除本地文件。