comparison rust/hg-cpython/src/revlog.rs @ 51203:952e3cd7568f

rust-index: using the Rust index in nodemap updating methods
author Georges Racinet <georges.racinet@octobus.net>
date Mon, 30 Oct 2023 11:03:57 +0100
parents 002b49905aac
children b67cd0d0e976
comparison
equal deleted inserted replaced
51202:002b49905aac 51203:952e3cd7568f
515 fn fill_nodemap( 515 fn fill_nodemap(
516 &self, 516 &self,
517 py: Python, 517 py: Python,
518 nt: &mut NodeTree, 518 nt: &mut NodeTree,
519 ) -> PyResult<PyObject> { 519 ) -> PyResult<PyObject> {
520 let index = self.cindex(py).borrow(); 520 let index = self.index(py).borrow();
521 for r in 0..self.len(py)? { 521 for r in 0..self.len(py)? {
522 let rev = Revision(r as BaseRevision); 522 let rev = Revision(r as BaseRevision);
523 // in this case node() won't ever return None 523 // in this case node() won't ever return None
524 nt.insert(&*index, index.node(rev).unwrap(), rev) 524 nt.insert(&*index, index.node(rev).unwrap(), rev)
525 .map_err(|e| nodemap_error(py, e))? 525 .map_err(|e| nodemap_error(py, e))?
621 let data_tip = docket 621 let data_tip = docket
622 .getattr(py, "tip_rev")? 622 .getattr(py, "tip_rev")?
623 .extract::<BaseRevision>(py)? 623 .extract::<BaseRevision>(py)?
624 .into(); 624 .into();
625 self.docket(py).borrow_mut().replace(docket.clone_ref(py)); 625 self.docket(py).borrow_mut().replace(docket.clone_ref(py));
626 let idx = self.cindex(py).borrow(); 626 let idx = self.index(py).borrow();
627 let data_tip = idx.check_revision(data_tip).ok_or_else(|| { 627 let data_tip = idx.check_revision(data_tip).ok_or_else(|| {
628 nodemap_error(py, NodeMapError::RevisionNotInIndex(data_tip)) 628 nodemap_error(py, NodeMapError::RevisionNotInIndex(data_tip))
629 })?; 629 })?;
630 let current_tip = idx.len(); 630 let current_tip = idx.len();
631 631