我有一个我需要移动的文件已经在perforce下。一旦移动它需要一些编辑 - 更新包等 - 适合其新位置。我应该提交移动变更规格然后重新打开以进行编辑,还是我可以一次性完成此操作?如果是,那么适当的事件顺序是什么?
答案 0 :(得分:7)
我之前一次性完成了这项工作,但根据您的构建过程,我建议您不要这样做。我通常做的是:
但是,如果您愿意,可以在上面的步骤(2)中进行所有更改。 Perforce可能会将新文件的标志从集成更改为添加,但它仍会记住该文件的源路径。
编辑:更好的方法
我意识到我经常使用不同的方法,但“移动”文件的想法分散了我的注意力。所以,我建议改为采用这些步骤:
此方法允许将编辑与重命名/移动完全分离,同时永远不会使项目处于无法编译的状态。
另外,为什么要等第6步?有时,特别是在较大的项目中,您可能希望移动另一个人正在编辑的文件。 Perforce会帮助你解决这个问题。通过等待删除文件,您允许您的同事完成编辑并提交,而无需手动移动他们的工作。提交编辑后,可以将它们集成到新文件中,然后可以安全地删除旧文件。
答案 1 :(得分:2)
提交移动更改,然后重新打开以进行编辑(您也可以使用重新打开选项)。 这在更改历史记录中对用户更具可读性。
此外,Perforce的最新版本会在解决后执行对文件更改的检查。因此,在完成某些解析操作后,可能会有投诉编辑文件。
答案 2 :(得分:1)
我会说首先提交然后编辑。它更清晰,更清楚地表明您的存储库中发生了什么。然后只需在新位置签出文件并进行任何更改。这也使得在新位置进行更改以及重命名后所有更改都更加明显。
答案 3 :(得分:0)
“安全”可能是重要的一点。重命名或移动文件后,它将获得修订号“1”,它看起来像是Perforce客户端的新文件。当然,管理员将能够获得其先前的历史记录,但如果文件的编辑/版本历史对您来说很重要,那么获取旧版本会更难。
更新:感谢Jaeger和Greg Whitfield准将发表评论。
即使是Perforce的支持,也很容易追查One True Answer的内容,所以我想我会更新所有人的内容:
根据Perforce的支持,通过分支或文件夹移动更容易跟踪修订历史记录是一项经常被请求的功能,并且在他们当前的路线图中。
Perforce的回答:目前,没有办法移动/重命名/集成文件,仍然保持确切的文件历史记录。
但是,如果您通过右键单击要共享的文件夹来选择“集成...”,则新分支的文件夹和基础文件的文件版本将从修订版#1开始,但是将保留分支文件夹和基础文件与原始文件夹和基础文件之间的集成历史记录,您可以通过该历史记录跟踪文件的修订历史记录。
答案 4 :(得分:0)
是的,你可以。只需重新打开即可编辑分支文件(即新文件)。在P4Win中,有一个上下文菜单(“重新打开以进行编辑”)。