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

marmoute (Pierre-Yves David) phabricator at mercurial-scm.org
Thu Dec 17 11:56:44 UTC 2020


Closed by commit rHG818502d2f5e3: copies-rust: pre-introduce a PathToken type and use it where applicable (authored by marmoute).
This revision was automatically updated to reflect the committed changes.

REPOSITORY
  rHG Mercurial

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

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
@@ -11,17 +11,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>);
@@ -467,7 +469,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)
@@ -525,10 +527,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()))
         };
 
@@ -602,7 +604,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, pulkit, Alphare
Cc: mercurial-patches
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mercurial-scm.org/pipermail/mercurial-patches/attachments/20201217/fbcdfb83/attachment-0002.html>


More information about the Mercurial-patches mailing list