From 95098e4f29ae235d096a6453a72d59fc052305e6 Mon Sep 17 00:00:00 2001 From: Antonio Scandurra Date: Sun, 8 Jan 2023 09:10:57 -0700 Subject: [PATCH] Update git diff base when synchronizing a guest's buffers --- crates/project/src/project.rs | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/crates/project/src/project.rs b/crates/project/src/project.rs index 271d0f242b..608abc5815 100644 --- a/crates/project/src/project.rs +++ b/crates/project/src/project.rs @@ -5189,20 +5189,27 @@ impl Project { let operations = buffer.serialize_ops(Some(remote_version), cx); let client = this.client.clone(); - let file = buffer.file().cloned(); + if let Some(file) = buffer.file() { + client + .send(proto::UpdateBufferFile { + project_id, + buffer_id: buffer_id as u64, + file: Some(file.to_proto()), + }) + .log_err(); + } + + client + .send(proto::UpdateDiffBase { + project_id, + buffer_id: buffer_id as u64, + diff_base: buffer.diff_base().map(Into::into), + }) + .log_err(); + cx.background() .spawn( async move { - if let Some(file) = file { - client - .send(proto::UpdateBufferFile { - project_id, - buffer_id: buffer_id as u64, - file: Some(file.to_proto()), - }) - .log_err(); - } - let operations = operations.await; for chunk in split_operations(operations) { client