comparison rust/hg-cpython/src/revlog.rs @ 51463:a43a6d4b3be6 stable

rust-index: don't use mutable borrow for head-diff computation It does not needs to mutate the index. This is one of the two suspects of RuntimeError being thrown during push.
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Tue, 05 Mar 2024 15:07:04 +0100
parents 3099f1c68afd
children 68ed56baabf5
comparison
equal deleted inserted replaced
51445:89cd0dd41e4d 51463:a43a6d4b3be6
852 begin: &PyObject, 852 begin: &PyObject,
853 end: &PyObject, 853 end: &PyObject,
854 ) -> PyResult<PyObject> { 854 ) -> PyResult<PyObject> {
855 let begin = begin.extract::<BaseRevision>(py)?; 855 let begin = begin.extract::<BaseRevision>(py)?;
856 let end = end.extract::<BaseRevision>(py)?; 856 let end = end.extract::<BaseRevision>(py)?;
857 let index = &mut *self.index(py).borrow_mut(); 857 let index = &*self.index(py).borrow();
858 let begin = 858 let begin =
859 Self::check_revision(index, UncheckedRevision(begin - 1), py)?; 859 Self::check_revision(index, UncheckedRevision(begin - 1), py)?;
860 let end = Self::check_revision(index, UncheckedRevision(end - 1), py)?; 860 let end = Self::check_revision(index, UncheckedRevision(end - 1), py)?;
861 let (removed, added) = index 861 let (removed, added) = index
862 .head_revs_diff(begin, end) 862 .head_revs_diff(begin, end)