我今天试图搁置文件并检查Revert checked out files after they are shelved
选项,搁置文件后,一些文件已被还原,但有些文件仍然存在。看来这些是通过p4 add
添加的新文件。搁置后不删除此类文件的默认行为是什么?有没有办法在搁置过程中删除它们?
答案 0 :(得分:4)
你在P4V中所做的事情(搁置与还原)实际上是两个命令的简单组合:shelve
和revert
。在幕后,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有这个小怪癖和如果需要,请在还原后删除本地文件。