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> {