rust/hg-core/src/dirstate/dirstate_map.rs
changeset 47527 c6b91a9c242a
parent 47525 fe4641cf9b72
child 47528 80617f3c0f9a
--- a/rust/hg-core/src/dirstate/dirstate_map.rs	Sun Jul 04 01:44:43 2021 +0200
+++ b/rust/hg-core/src/dirstate/dirstate_map.rs	Sun Jul 04 01:48:11 2021 +0200
@@ -71,16 +71,24 @@
         entry: DirstateEntry,
         // XXX once the dust settle this should probably become an enum
         added: bool,
+        merged: bool,
         from_p2: bool,
         possibly_dirty: bool,
     ) -> Result<(), DirstateError> {
         let mut entry = entry;
         if added {
+            assert!(!merged);
             assert!(!possibly_dirty);
             assert!(!from_p2);
             entry.state = EntryState::Added;
             entry.size = SIZE_NON_NORMAL;
             entry.mtime = MTIME_UNSET;
+        } else if merged {
+            assert!(!possibly_dirty);
+            assert!(!from_p2);
+            entry.state = EntryState::Merged;
+            entry.size = SIZE_FROM_OTHER_PARENT;
+            entry.mtime = MTIME_UNSET;
         } else if from_p2 {
             assert!(!possibly_dirty);
             entry.size = SIZE_FROM_OTHER_PARENT;
@@ -410,6 +418,7 @@
             false,
             false,
             false,
+            false,
         )
         .unwrap();