gpt4 book ai didi

perforce - 如何在 Perforce 中合并两个文件,以便保留两个文件的历史记录?

转载 作者:行者123 更新时间:2023-12-04 22:10:55 30 4
gpt4 key购买 nike

我有一个 perforce 存储库,其中包含以下内容:

depot
|-- wug.h
|-- wug1.cpp
|-- wug2.cpp
|-- wug3.cpp

wug.h 包含一个类声明,该类的定义分布在其他三个文件中。我想将所有文件合并到一个文件中,而不会丢失它们的性能历史记录。我已经查看了大多数 perforce 命令的文档,但不知道该怎么做。任何人都可以提出任何建议吗?

最佳答案

如果您想创建一个名为“wug.cpp”的新文件,其中包含所有其他文件,请在元数据中保留此记录,并在一个更改列表中完成所有操作,您可以执行以下操作:

p4 merge wug1.cpp wug.cpp
p4 resolve (choose 'at', to branch the file)
p4 merge wug2.cpp wug.cpp
p4 resolve (choose 'm' to invoke perforce's merge tool, then 'ae' to accept)
p4 merge wug3.cpp wug.cpp
p4 resolve (choose 'm' to invoke perforce's merge tool, then 'ae' to accept)
p4 delete wug1.cpp wug2.cpp wug3.cpp
p4 submit

在“p4 解析”期间,您需要进行 baseless 合并以将所有文件编辑在一起,因为没有一个共同的基础可用作实际合并它们的引用点。对于没有共同祖先的文件,Perforce 的合并工具默认会以这种方式运行,并且应该(或多或少)提供一个合并的输出,其中包含一个文件的内容,然后是另一个文件的内容,这或多或少合适的原样。

最终解析后,您可以进行编辑(首先使用 p4 edit wug.cpp 打开文件进行编辑),例如将包含指令移动到文件顶部,删除重复或无关的代码或注释,以及其他此类清洁更改。

这具有保留文件内容历史的预期效果,例如命令 p4 annotate -I wug.cpp正确显示影响每一行的最新更改。

关于perforce - 如何在 Perforce 中合并两个文件,以便保留两个文件的历史记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27412112/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com