Add proto fields for repository entry maintenance

This commit is contained in:
Mikayla Maki 2023-05-04 13:26:53 -07:00
parent c6d7ed33c2
commit 2fe5bf419b
No known key found for this signature in database
4 changed files with 40 additions and 3 deletions

View file

@ -329,9 +329,10 @@ message UpdateWorktree {
string root_name = 3;
repeated Entry updated_entries = 4;
repeated uint64 removed_entries = 5;
uint64 scan_id = 6;
bool is_last_update = 7;
string abs_path = 8;
repeated RepositoryEntry updated_repositories = 6;
uint64 scan_id = 7;
bool is_last_update = 8;
string abs_path = 9;
}
message CreateProjectEntry {
@ -979,6 +980,14 @@ message Entry {
bool is_ignored = 7;
}
message RepositoryEntry {
uint64 git_dir_entry_id = 1;
uint64 scan_id = 2;
bytes git_dir_path = 3;
bytes work_directory = 4;
optional string branch = 5;
}
message BufferState {
uint64 id = 1;
optional File file = 2;

View file

@ -502,6 +502,13 @@ pub fn split_worktree_update(
.drain(..removed_entries_chunk_size)
.collect();
let updated_repositories_chunk_size =
cmp::min(message.updated_repositories.len(), max_chunk_size);
let updated_repositories = message
.updated_repositories
.drain(..updated_repositories_chunk_size)
.collect();
done = message.updated_entries.is_empty() && message.removed_entries.is_empty();
Some(UpdateWorktree {
project_id: message.project_id,
@ -512,6 +519,7 @@ pub fn split_worktree_update(
removed_entries,
scan_id: message.scan_id,
is_last_update: done && message.is_last_update,
updated_repositories,
})
})
}