5

同事,

我有两个不同的目录:

- 路径/动物/dir1
- 路径/汽车/目录2

我想将 dir1 移动到 path/cars/ 并保留该文件夹的所有历史记录。

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

如果有办法我该怎么做?

提前致谢!

4

3 回答 3

5

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

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

如果您使用p4 sync特定日期或更改列表,您还应该使用当时的文件版本恢复原始目录(并且新移动的版本应该在同步后删除,假设两个目录都在您所在的区域中同步)。

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

于 2013-08-14T11:22:36.947 回答
2

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

在此处输入图像描述

于 2013-08-15T12:27:33.707 回答
1

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

于 2013-08-19T13:23:14.167 回答