diff --git a/rust/hg-core/src/copy_tracing.rs b/rust/hg-core/src/copy_tracing.rs --- a/rust/hg-core/src/copy_tracing.rs +++ b/rust/hg-core/src/copy_tracing.rs @@ -645,7 +645,7 @@ fn merge_copies_dict { let (pick, overwrite) = - cmp_value(oracle, &dest, &src_major, src_minor); + cmp_value(oracle, &dest, src_minor, &src_major); if overwrite { oracle.record_overwrite(src_minor.rev, current_merge); oracle.record_overwrite(src_major.rev, current_merge); @@ -661,8 +661,8 @@ fn merge_copies_dict None, - MergePick::Minor => minor.insert(dest, src_major), + MergePick::Any | MergePick::Minor => None, + MergePick::Major => minor.insert(dest, src_major), }; } }