Add proto fields for repository entry maintenance
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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,
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user