我有一个问题,在重构尝试中我将文件从一个地方复制到另一个地方并将它们添加到我的scm(perforce)中。当我完成并且一切正常后,我删除了旧的(移动的)文件。
我可以将文件历史记录相互连接吗?最好的方法就是将“移动”视为本来应该做的..
感谢任何帮助!
答案 0 :(得分:8)
假设您的原始文件为//source/old/file.c#5
,并将其移至//source/new/file.c
,然后删除修订版//source/old/file.c#6
中的旧文件。您需要使用-i
标志从旧文件集成到新文件,以便Perforce允许您在两个文件之间进行集成,否则它们不会知道集成历史记录:
p4 integrate -i //source/old/file.c#5 //source/new/file.c
然后解析文件。通常在集成时你会想要接受文件的合并版本,但在这种情况下,你最感兴趣的是让Perforce知道你已经进行了集成,所以你可以使用-ay
来“接受你的”,丢弃旧版本的文件:
p4 resolve -ay //source/new/file.c
然后提交修订版。
(理想情况下,您将首先进行集成,然后进行任何更改,并提交所有内容,但这样文件将在Perforce的集成历史记录中进行链接。)