diff --git a/rust/hg-core/src/copy_tracing.rs b/rust/hg-core/src/copy_tracing.rs
index 4c9aa7ca790fb2b3b4cd0b92406709e5dacf9f5b_cnVzdC9oZy1jb3JlL3NyYy9jb3B5X3RyYWNpbmcucnM=..a103f7c749e481faf955ec9cf8afc6c8ea012439_cnVzdC9oZy1jb3JlL3NyYy9jb3B5X3RyYWNpbmcucnM= 100644
--- a/rust/hg-core/src/copy_tracing.rs
+++ b/rust/hg-core/src/copy_tracing.rs
@@ -244,7 +244,7 @@
     }
 
     /// returns `true` if `anc` is an ancestors of `desc`, `false` otherwise
-    fn is_ancestor(&mut self, anc: Revision, desc: Revision) -> bool {
+    fn is_overwrite(&mut self, anc: Revision, desc: Revision) -> bool {
         if anc > desc {
             false
         } else if anc == desc {
@@ -696,7 +696,7 @@
         if src_major.rev == src_minor.rev {
             // If the two entry are identical, they are both valid
             MergePick::Any
-        } else if oracle.is_ancestor(src_major.rev, src_minor.rev) {
+        } else if oracle.is_overwrite(src_major.rev, src_minor.rev) {
             MergePick::Minor
         } else {
             MergePick::Major
@@ -722,7 +722,7 @@
             // from each side might conflict.  The major side will
             // win such conflict.
             MergePick::Major
-        } else if oracle.is_ancestor(src_major.rev, src_minor.rev) {
+        } else if oracle.is_overwrite(src_major.rev, src_minor.rev) {
             // If the minor side is strictly newer than the major
             // side, it should be kept.
             MergePick::Minor
@@ -730,7 +730,7 @@
             // without any special case, the "major" value win
             // other the "minor" one.
             MergePick::Major
-        } else if oracle.is_ancestor(src_minor.rev, src_major.rev) {
+        } else if oracle.is_overwrite(src_minor.rev, src_major.rev) {
             // the "major" rev is a direct ancestors of "minor",
             // any different value should
             // overwrite