--- a/rust/hg-cpython/src/dirstate/item.rs Thu Sep 23 15:36:43 2021 +0200
+++ b/rust/hg-cpython/src/dirstate/item.rs Thu Sep 23 18:29:40 2021 +0200
@@ -146,6 +146,36 @@
DirstateItem::create_instance(py, Cell::new(entry))
}
+ @classmethod
+ def new_added(_cls) -> PyResult<Self> {
+ let entry = DirstateEntry::new_added();
+ DirstateItem::create_instance(py, Cell::new(entry))
+ }
+
+ @classmethod
+ def new_merged(_cls) -> PyResult<Self> {
+ let entry = DirstateEntry::new_merged();
+ DirstateItem::create_instance(py, Cell::new(entry))
+ }
+
+ @classmethod
+ def new_from_p2(_cls) -> PyResult<Self> {
+ let entry = DirstateEntry::new_from_p2();
+ DirstateItem::create_instance(py, Cell::new(entry))
+ }
+
+ @classmethod
+ def new_possibly_dirty(_cls) -> PyResult<Self> {
+ let entry = DirstateEntry::new_possibly_dirty();
+ DirstateItem::create_instance(py, Cell::new(entry))
+ }
+
+ @classmethod
+ def new_normal(_cls, mode: i32, size: i32, mtime: i32) -> PyResult<Self> {
+ let entry = DirstateEntry::new_normal(mode, size, mtime);
+ DirstateItem::create_instance(py, Cell::new(entry))
+ }
+
def set_clean(
&self,
mode: i32,