From 87e2ea9e53eb0603dc3b2ca3e3012cc9103f5404 Mon Sep 17 00:00:00 2001 From: Max Kofler Date: Fri, 11 Oct 2024 22:19:03 +0200 Subject: [PATCH] IndexFile::insert(): Add dependencies --- src/files/index.rs | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/src/files/index.rs b/src/files/index.rs index b93db75..6c7bbe7 100644 --- a/src/files/index.rs +++ b/src/files/index.rs @@ -9,7 +9,7 @@ use log::debug; use crate::{ error::{Error, ErrorExt}, - model::{Object, ObjectCompression, ObjectDB, ObjectType}, + model::{Object, ObjectCompression, ObjectDB, ObjectID, ObjectType}, util::{fs::IndexCommand, Packable, Unpackable}, }; @@ -67,6 +67,24 @@ impl IndexFile { Ok(()) } + /// Returns a vector of all objects used by this index file + pub fn get_objects(&self) -> Vec { + let mut res = Vec::new(); + + for cmd in &self.commands { + if let IndexCommand::File { + info: _, + name: _, + oid, + } = cmd + { + res.push(oid.clone()) + } + } + + res + } + /// Inserts this index into `object_db` /// # Arguments /// * `object_db` - The objet db to insert the formula into @@ -87,7 +105,7 @@ impl IndexFile { ObjectType::AcaciaIndex, compression, true, - Vec::new(), + self.get_objects(), ) } }