Mercurial > public > mercurial-scm > hg
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 |