我在Perforce上有一个分支,在这里使用Rename / Move命令更改项目的目录结构。
在重新合并到主流中时,出了一些问题,导致Perforce将新结构视为一个全新的目录。
因此,新目录结构中文件的历史记录与更改结构之前相同文件的历史记录完全无关。
总有办法恢复这种状况吗?还是要求Perforce将旧的历史记录与新的历史记录一起添加?
答案 0 :(得分:2)
出了点问题,使Perforce认为新结构是一个全新的目录。
通常,如果发生这种情况,则意味着有人没有使用“重命名/移动”命令,而是使用了其他方法来重命名(即,他们做了一些将新目录添加为新文件集的操作,而与原始文件无关)。而不是现有文件集的原子重命名)。我无法说出如何“恢复”,而又不了解文件的历史记录,因此我可以对“出问题的地方”进行反向工程。
我建议您在Perforce论坛上发帖或与Perforce技术支持联系,以便具有专业知识的人可以窃取您中的必要数据(我可以直觉这将需要一定数量的来回回馈,而stackoverflow对此却不屑一顾- -“您要从哪个分支合并到哪个分支”,“好,现在运行THIS命令以查看该分支的历史并向我发送输出,”“好,我可以在历史中看到这五个合并操作中的哪一个是您正在谈论的那个”,并提出解决方案。
从另一个答案开始:
因此,对于文件a / b / c,您可以在适当的地方使用-i选项查看。例如,p4 filelog -li a / b / c。
如果通过“ move / rename”命令重命名文件,则没有必要,因此,如果您需要使用“ filelog -i”查看文件历史记录,则肯定可以通过其他方法重命名文件。 (“ p4 move”命令于2009年添加,因此Perforce长期用户有时会使用其他工作流程。)