--- 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();