diff options
| author | 魏曹先生 <1992414357@qq.com> | 2026-01-03 20:31:38 +0800 |
|---|---|---|
| committer | 魏曹先生 <1992414357@qq.com> | 2026-01-03 20:31:38 +0800 |
| commit | 816ff19324e81a3354913695fc6a570598eb9358 (patch) | |
| tree | a8077b61047f80206003caf3e244d01f7d5ef1de /crates/vcs_data/src/data | |
| parent | 3e0a3d131c3eca721858357621bcde8cc7b9423f (diff) | |
Include file histories in latest info updates
Diffstat (limited to 'crates/vcs_data/src/data')
| -rw-r--r-- | crates/vcs_data/src/data/local/latest_file_data.rs | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/crates/vcs_data/src/data/local/latest_file_data.rs b/crates/vcs_data/src/data/local/latest_file_data.rs index 5248cfb..720c634 100644 --- a/crates/vcs_data/src/data/local/latest_file_data.rs +++ b/crates/vcs_data/src/data/local/latest_file_data.rs @@ -8,7 +8,7 @@ use crate::{ current::current_local_path, data::{ member::MemberId, - vault::virtual_file::{VirtualFileId, VirtualFileVersion}, + vault::virtual_file::{VirtualFileId, VirtualFileVersion, VirtualFileVersionDescription}, }, }; @@ -26,6 +26,10 @@ pub struct LatestFileData { /// File version #[serde(rename = "ver")] versions: HashMap<VirtualFileId, VirtualFileVersion>, + + /// File histories and descriptions + #[serde(rename = "his")] + histories: HashMap<VirtualFileId, Vec<(VirtualFileVersion, VirtualFileVersionDescription)>>, } #[derive(Debug, Default, Clone, Serialize, Deserialize)] @@ -69,9 +73,16 @@ impl LatestFileData { /// Update the held status of the files. pub fn update_info( &mut self, - map: HashMap<VirtualFileId, (Option<MemberId>, VirtualFileVersion)>, + map: HashMap< + VirtualFileId, + ( + Option<MemberId>, + VirtualFileVersion, + Vec<(VirtualFileVersion, VirtualFileVersionDescription)>, + ), + >, ) { - for (vfid, (member_id, version)) in map { + for (vfid, (member_id, version, desc)) in map { self.held_status.insert( vfid.clone(), match member_id { @@ -79,7 +90,8 @@ impl LatestFileData { None => HeldStatus::NotHeld, }, ); - self.versions.insert(vfid, version); + self.versions.insert(vfid.clone(), version); + self.histories.insert(vfid, desc); } } } |
