Mercurial > hg
comparison rust/hg-cpython/src/dirstate/dirstate_map.rs @ 49098:55c158a33fa5
dirstatemap: move `set_tracked` out of common methods and plug in Rust
We now have a Rust-specific implementation of this method, it is no longer
shared between both implementations.
Differential Revision: https://phab.mercurial-scm.org/D12496
author | Raphaël Gomès <rgomes@octobus.net> |
---|---|
date | Wed, 23 Mar 2022 15:19:43 +0100 |
parents | dd6b67d5c256 |
children | dd0430434ce9 |
comparison
equal
deleted
inserted
replaced
49097:791430b0b2d2 | 49098:55c158a33fa5 |
---|---|
129 .add_file(filename, entry) | 129 .add_file(filename, entry) |
130 .map_err(|e |dirstate_error(py, e))?; | 130 .map_err(|e |dirstate_error(py, e))?; |
131 Ok(PyNone) | 131 Ok(PyNone) |
132 } | 132 } |
133 | 133 |
134 def set_tracked(&self, f: PyObject) -> PyResult<PyBool> { | |
135 let bytes = f.extract::<PyBytes>(py)?; | |
136 let path = HgPath::new(bytes.data(py)); | |
137 let res = self.inner(py).borrow_mut().set_tracked(path); | |
138 let was_tracked = res.or_else(|_| { | |
139 Err(PyErr::new::<exc::OSError, _>(py, "Dirstate error".to_string())) | |
140 })?; | |
141 Ok(was_tracked.to_py_object(py)) | |
142 } | |
143 | |
134 def removefile( | 144 def removefile( |
135 &self, | 145 &self, |
136 f: PyObject, | 146 f: PyObject, |
137 in_merge: PyObject | 147 in_merge: PyObject |
138 ) -> PyResult<PyObject> { | 148 ) -> PyResult<PyObject> { |