Perforce为何会出现含重复合并、跨分支合并的异常修订图?
Perforce 异常合并记录常见触发场景
- 多源合并操作:Perforce 原生支持同时合并多个源修订到目标版本,如果你或团队成员执行合并时指定了两个不同分支的源修订(比如同时指定修订版6和修订版11作为合并源),就会生成单条同时关联两个源的合并记录,也就是你看到的两个修订同时合并到修订版8的情况。
- 重命名操作未完整集成:当 trunk 执行
p4 move完成文件重命名后,如果你没有第一时间将该重命名操作同步到所有活跃开发分支,分支上依然会保留旧路径的文件副本。后续合并 trunk 旧路径的历史修订时,Perforce 会将旧路径对应的删除/修改操作再次判定为未集成内容,生成重复合并记录。 - 分支视图配置错误:如果分支映射规则没有覆盖重命名后的文件路径,或者新旧路径的映射规则存在冲突,Perforce 合并时无法匹配到重命名后的对应文件,就会 fallback 到旧路径的历史记录生成异常合并,多分支同时出现该问题大多和分支视图配置缺陷有关。
- 强制合并操作:如果合并时使用了
p4 merge -f强制合并已经标记为集成完成的修订,或者手动修改了集成记录标记,Perforce 会将已经合并过的修订版6再次判定为待集成内容,生成第二次合并记录。 - 归档恢复操作断层:如果旧路径的文件曾经执行过
p4 archive归档,后续再执行恢复操作时会造成集成历史断层,Perforce 无法识别该修订的已合并状态,会重复触发合并流程。
内容的提问来源于stack exchange,提问作者Max Young
相关产品推荐
相关产品推荐

