同事,
我有两个不同的目录:
- path/animals/dir1 - path/cars/dir2
我想将dir1移动到路径/ cars /中并保留此文件夹的所有历史记录。
我尝试了几种方法:使用P4V进行合并,复制和重命名/移动, 但是所有这些都导致在移动的目录中删除历史记录。
如果有办法怎样才能做到?
提前致谢!
答案 0 :(得分:5)
我们在最新版本的P4中广泛使用p4 move
来进行这些目录移动。
根据我的经验,如果您分支/删除(或最近移动)文件,您将原始位置的历史记录保持不变(使用删除/移动记录),但如果您查看P4V中的修订图表,您应该在移动(删除)之前看到以前位置中的所有旧版本。
如果您对特定日期或更改列表使用p4 sync
,那么您还应该使用当时文件的版本返回原始目录(并且在同步后应删除新移动的版本,假设两者都有目录在你正在同步的区域。)
我遇到过问题(这可能会在2013.2中发生变化,因为我已经读到Perforce正在更改默认集成引擎),并且需要使用“第3代”集成选项来进行移动/删除和移动/添加事务的集成,但是一旦指定了(你可以通过在命令行-3
命令中添加p4 integrate
来做到这一点),在这些动作中,一切对我来说都会更好。
答案 1 :(得分:2)
移动目录的历史记录尚未删除。我猜你认为是这种情况,因为文件在P4V中更长时间可见。默认情况下,P4V不会在库树中显示已删除的文件。由于您将文件移动到新位置,因此它们已从旧位置删除,现在不再显示。您需要打开“显示已删除的库文件”选项。如果单击Depot / Workspace选项卡右侧的黄色漏斗图标,您将看到该选项。检查一下,然后P4V会将删除的文件显示在原始位置。
答案 2 :(得分:1)
将文件夹移动到另一个目的地时,所有历史记录仍然存在但仅适用于适当的文件,而不适用于目录。 这是一个证据: http://comments.gmane.org/gmane.comp.version-control.perforce/19820