[Commented On] D9492: copies-rust: pre-introduce a PathToken type and use it where applicable

baymax (Baymax, Your Personal Patch-care Companion) phabricator at mercurial-scm.org
Wed Dec 9 03:11:13 UTC 2020


baymax added a comment.
baymax updated this revision to Diff 24134.


  ✅ refresh by Heptapod after a successful CI run (🐙 💚)

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST UPDATE
  https://phab.mercurial-scm.org/D9492?vs=24121&id=24134

BRANCH
  default

CHANGES SINCE LAST ACTION
  https://phab.mercurial-scm.org/D9492/new/

REVISION DETAIL
  https://phab.mercurial-scm.org/D9492

AFFECTED FILES
  rust/hg-core/src/copy_tracing.rs

CHANGE DETAILS

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
@@ -12,17 +12,19 @@
 
 pub type PathCopies = HashMap<HgPathBuf, HgPathBuf>;
 
+type PathToken = HgPathBuf;
+
 #[derive(Clone, Debug, PartialEq)]
 struct TimeStampedPathCopy {
     /// revision at which the copy information was added
     rev: Revision,
     /// the copy source, (Set to None in case of deletion of the associated
     /// key)
-    path: Option<HgPathBuf>,
+    path: Option<PathToken>,
 }
 
 /// maps CopyDestination to Copy Source (+ a "timestamp" for the operation)
-type TimeStampedPathCopies = OrdMap<HgPathBuf, TimeStampedPathCopy>;
+type TimeStampedPathCopies = OrdMap<PathToken, TimeStampedPathCopy>;
 
 /// hold parent 1, parent 2 and relevant files actions.
 pub type RevInfo<'a> = (Revision, Revision, ChangedFiles<'a>);
@@ -500,7 +502,7 @@
     // actively working on this code. Feel free to re-inline it once this
     // code is more settled.
     let mut cmp_value =
-        |dest: &HgPathBuf,
+        |dest: &PathToken,
          src_minor: &TimeStampedPathCopy,
          src_major: &TimeStampedPathCopy| {
             compare_value(changes, oracle, dest, src_minor, src_major)
@@ -558,10 +560,10 @@
         let mut override_minor = Vec::new();
         let mut override_major = Vec::new();
 
-        let mut to_major = |k: &HgPathBuf, v: &TimeStampedPathCopy| {
+        let mut to_major = |k: &PathToken, v: &TimeStampedPathCopy| {
             override_major.push((k.clone(), v.clone()))
         };
-        let mut to_minor = |k: &HgPathBuf, v: &TimeStampedPathCopy| {
+        let mut to_minor = |k: &PathToken, v: &TimeStampedPathCopy| {
             override_minor.push((k.clone(), v.clone()))
         };
 
@@ -635,7 +637,7 @@
 fn compare_value<A: Fn(Revision, Revision) -> bool>(
     changes: &ChangedFiles,
     oracle: &mut AncestorOracle<A>,
-    dest: &HgPathBuf,
+    dest: &PathToken,
     src_minor: &TimeStampedPathCopy,
     src_major: &TimeStampedPathCopy,
 ) -> MergePick {



To: marmoute, #hg-reviewers
Cc: mercurial-patches
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mercurial-scm.org/pipermail/mercurial-patches/attachments/20201209/158fb544/attachment-0002.html>


More information about the Mercurial-patches mailing list