【问题标题】:What is this Perforce action?这个 Perforce 动作是什么?
【发布时间】:2016-01-26 10:09:21
【问题描述】:

我想知道图表左侧(即红色虚线箭头)会导致哪些操作?这是由虚幻引擎的 Perforce 插件完成的,当时我重命名了这个文件并提交了这个更改。如果我突出显示该修订,则该操作会显示 add,但根据传说,这是一个 merge w/edit 操作,因此它似乎不匹配。

右边部分是我的测试,使用P4V的move/rename动作,动作显示move/rename,与图例Add(branch w / 编辑),所以这个看起来不错。

那么,左边部分到底发生了什么?它真的是一个带编辑的合并吗?如果有人正在重命名,这是一个正确的结果吗?重命名时移动/添加是唯一正确的结果吗?

谢谢。

【问题讨论】:

  • 复合动作(带编辑的分支、带编辑的合并等)通知您将一个文件中的更改包含到另一个文件中,但也将这些更改更改为你这样做了。例如,在更改 Java 文件的包时,通常会将文件重命名为其新的源目录,但也会更改“package a.b.c;”在文件本身的内容中声明。

标签: perforce unreal-engine4


【解决方案1】:

这是一个令人费解的问题,但不一定是不匹配。

首先是动作:第一个是添加,因为新文件是在旧文件的基础上创建的。相反,第二个是 move/add,因为您通过从旧位置 moving 添加文件,因此旧文件不复存在。实际上,您从一个文件开始整个练习,并以两个文件结束(而不是三个,就像您执行两个添加一样;或者不是一个,如果您执行两个移动/添加)。

现在是箭头。你是对的,命名似乎与动作的命名完全脱节。我不知道为什么会出现不一致。

您具体询问的是Merge w/Edit。 Perforce 有四个相似但不同的操作可以在这里使用:p4 integratep4 mergep4 copyp4 populate。有一些细微的差异在这里并不重要。无论如何,所有这些操作都会“合并”文件,所以我认为命名是可以的。直觉上,我觉得这可以/应该由p4 copy 完成(因为目标不存在,所以你不必合并任何东西)但虚幻引擎也完全有可能决定使用p4 merge 或@无论如何,987654327@。我相信,这解释了为什么箭头是 Merge。至于w/ Edit,您是否在复制文件时对文件进行了(文本)编辑?

【讨论】:

  • 虚幻引擎使用一种称为“重定向器”的技术来重命名其资产。 “重定向器”要求原始资产保留在原始位置,也许这​​就是他们使用导致合并 w/编辑而不是添加(分支 w/编辑)的命令的原因,因为他们确实需要 2 个文件结束。在这个测试中,我没有对文件进行任何编辑,只是重命名,我认为无论是否编辑,Perforce 都可能使用通用图例。您提供的 4 个命令正是我要问的!感谢您的精彩回答!
猜你喜欢
  • 2020-10-07
  • 2011-07-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-07
  • 2016-03-06
  • 1970-01-01
相关资源
最近更新 更多