diff --git a/lib/src/op_heads_store.rs b/lib/src/op_heads_store.rs index 0eddc71fb..78dfcf5b7 100644 --- a/lib/src/op_heads_store.rs +++ b/lib/src/op_heads_store.rs @@ -184,6 +184,7 @@ impl OpHeadsStore { return Ok(OpHeads::Single(op_heads.pop().unwrap())); } + op_heads.sort_by_key(|op| op.store_operation().metadata.end_time.timestamp.clone()); Ok(OpHeads::Unresolved { locked_op_heads, op_heads, diff --git a/lib/src/repo.rs b/lib/src/repo.rs index d3cf7736f..6fc272263 100644 --- a/lib/src/repo.rs +++ b/lib/src/repo.rs @@ -387,9 +387,8 @@ impl RepoLoader { fn merge_op_heads( &self, user_settings: &UserSettings, - mut op_heads: Vec, + op_heads: Vec, ) -> UnpublishedOperation { - op_heads.sort_by_key(|op| op.store_operation().metadata.end_time.timestamp.clone()); let base_repo = self.load_at(&op_heads[0]); let mut tx = base_repo.start_transaction("resolve concurrent operations"); for other_op_head in op_heads.into_iter().skip(1) {