summaryrefslogtreecommitdiff
path: root/crates/vcs_data
diff options
context:
space:
mode:
author魏曹先生 <1992414357@qq.com>2026-01-03 20:31:38 +0800
committer魏曹先生 <1992414357@qq.com>2026-01-03 20:31:38 +0800
commit816ff19324e81a3354913695fc6a570598eb9358 (patch)
treea8077b61047f80206003caf3e244d01f7d5ef1de /crates/vcs_data
parent3e0a3d131c3eca721858357621bcde8cc7b9423f (diff)
Include file histories in latest info updates
Diffstat (limited to 'crates/vcs_data')
-rw-r--r--crates/vcs_data/src/data/local/latest_file_data.rs20
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);
}
}
}