Perforce:移动目录并保留历史记录

时间:2013-08-14 10:46:36

标签: perforce

同事,

我有两个不同的目录:

- path/animals/dir1
- path/cars/dir2

我想将dir1移动到路径/ cars /中并保留此文件夹的所有历史记录。

我尝试了几种方法:使用P4V进行合并,复制和重命名/移动, 但是所有这些都导致在移动的目录中删除历史记录。

如果有办法怎样才能做到?

提前致谢!

3 个答案:

答案 0 :(得分:5)

我们在最新版本的P4中广泛使用p4 move来进行这些目录移动。

根据我的经验,如果您分支/删除(或最近移动)文件,您将原始位置的历史记录保持不变(使用删除/移动记录),但如果您查看P4V中的修订图表,您应该在移动(删除)之前看到以前位置中的所有旧版本。

如果您对特定日期或更改列表使用p4 sync,那么您还应该使用当时文件的版本返回原始目录(并且在同步后应删除新移动的版本,假设两者都有目录在你正在同步的区域。)

我遇到过问题(这可能会在2013.2中发生变化,因为我已经读到Perforce正在更改默认集成引擎),并且需要使用“第3代”集成选项来进行移动/删除和移动/添加事务的集成,但是一旦指定了(你可以通过在命令行-3命令中添加p4 integrate来做到这一点),在这些动作中,一切对我来说都会更好。

答案 1 :(得分:2)

移动目录的历史记录尚未删除。我猜你认为是这种情况,因为文件在P4V中更长时间可见。默认情况下,P4V不会在库树中显示已删除的文件。由于您将文件移动到新位置,因此它们已从旧位置删除,现在不再显示。您需要打开“显示已删除的库文件”选项。如果单击Depot / Workspace选项卡右侧的黄色漏斗图标,您将看到该选项。检查一下,然后P4V会将删除的文件显示在原始位置。

enter image description here

答案 2 :(得分:1)

将文件夹移动到另一个目的地时,所有历史记录仍然存在但仅适用于适当的文件,而不适用于目录。 这是一个证据: http://comments.gmane.org/gmane.comp.version-control.perforce/19820