rust/hg-cpython/src/dirstate/dirstate_map.rs
changeset 48045 32ef647821b2
parent 48044 d5528ac9b4f2
child 48047 9b2a51b2c36a
equal deleted inserted replaced
48044:d5528ac9b4f2 48045:32ef647821b2
   127             },
   127             },
   128             None => Ok(default)
   128             None => Ok(default)
   129         }
   129         }
   130     }
   130     }
   131 
   131 
   132     def set_v1(&self, path: PyObject, item: PyObject) -> PyResult<PyObject> {
   132     def set_dirstate_item(
       
   133         &self,
       
   134         path: PyObject,
       
   135         item: DirstateItem
       
   136     ) -> PyResult<PyObject> {
   133         let f = path.extract::<PyBytes>(py)?;
   137         let f = path.extract::<PyBytes>(py)?;
   134         let filename = HgPath::new(f.data(py));
   138         let filename = HgPath::new(f.data(py));
   135         let state = item.getattr(py, "state")?.extract::<PyBytes>(py)?;
   139         self.inner(py).borrow_mut().set_entry(filename, item.get_entry(py));
   136         let state = state.data(py)[0];
       
   137         let entry = DirstateEntry::from_v1_data(
       
   138             state.try_into().expect("state is always valid"),
       
   139             item.getattr(py, "mode")?.extract(py)?,
       
   140             item.getattr(py, "size")?.extract(py)?,
       
   141             item.getattr(py, "mtime")?.extract(py)?,
       
   142         );
       
   143         self.inner(py).borrow_mut().set_v1(filename, entry);
       
   144         Ok(py.None())
   140         Ok(py.None())
   145     }
   141     }
   146 
   142 
   147     def addfile(
   143     def addfile(
   148         &self,
   144         &self,