##// END OF EJS Templates
rust-index: honour incoming using_general_delta in `deltachain`...
Georges Racinet on incendie.racinet.fr -
r52128:456e0fe7 default
parent child Browse files
Show More
@@ -599,15 +599,18 b' impl Index {'
599 &self,
599 &self,
600 rev: Revision,
600 rev: Revision,
601 stop_rev: Option<Revision>,
601 stop_rev: Option<Revision>,
602 using_general_delta: Option<bool>,
602 ) -> Result<(Vec<Revision>, bool), HgError> {
603 ) -> Result<(Vec<Revision>, bool), HgError> {
603 let mut current_rev = rev;
604 let mut current_rev = rev;
604 let mut entry = self.get_entry(rev).unwrap();
605 let mut entry = self.get_entry(rev).unwrap();
605 let mut chain = vec![];
606 let mut chain = vec![];
607 let using_general_delta =
608 using_general_delta.unwrap_or_else(|| self.uses_generaldelta());
606 while current_rev.0 != entry.base_revision_or_base_of_delta_chain().0
609 while current_rev.0 != entry.base_revision_or_base_of_delta_chain().0
607 && stop_rev.map(|r| r != current_rev).unwrap_or(true)
610 && stop_rev.map(|r| r != current_rev).unwrap_or(true)
608 {
611 {
609 chain.push(current_rev);
612 chain.push(current_rev);
610 let new_rev = if self.uses_generaldelta() {
613 let new_rev = if using_general_delta {
611 entry.base_revision_or_base_of_delta_chain()
614 entry.base_revision_or_base_of_delta_chain()
612 } else {
615 } else {
613 UncheckedRevision(current_rev.0 - 1)
616 UncheckedRevision(current_rev.0 - 1)
@@ -368,7 +368,12 b' py_class!(pub class MixedIndex |py| {'
368 nodemap_error(py, NodeMapError::RevisionNotInIndex(stop_rev))
368 nodemap_error(py, NodeMapError::RevisionNotInIndex(stop_rev))
369 })?)
369 })?)
370 } else {None};
370 } else {None};
371 let (chain, stopped) = index.delta_chain(rev, stop_rev).map_err(|e| {
371 let using_general_delta = args.get_item(py, 2)
372 .extract::<Option<u32>>(py)?
373 .map(|i| i != 0);
374 let (chain, stopped) = index.delta_chain(
375 rev, stop_rev, using_general_delta
376 ).map_err(|e| {
372 PyErr::new::<cpython::exc::ValueError, _>(py, e.to_string())
377 PyErr::new::<cpython::exc::ValueError, _>(py, e.to_string())
373 })?;
378 })?;
374
379
General Comments 0
You need to be logged in to leave comments. Login now