From 55da5ae8cf731c768d6cc580693068e64234a4af Mon Sep 17 00:00:00 2001 From: Mel Date: Sat, 2 Oct 2021 19:55:01 +0200 Subject: Use filesystem abstraction throughout Ka. --- src/actions/create.rs | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) (limited to 'src/actions/create.rs') diff --git a/src/actions/create.rs b/src/actions/create.rs index 472cbe3..20dbff7 100644 --- a/src/actions/create.rs +++ b/src/actions/create.rs @@ -1,26 +1,23 @@ -use std::fs::{self, File}; - +use crate::{actions::update, files::Locations, filesystem::Fs, history::RepositoryHistory}; use anyhow::Result; -use crate::{actions::update, files::Locations, history::RepositoryHistory}; - use super::ActionOptions; -pub fn create(command_options: ActionOptions) -> Result<()> { +pub fn create(command_options: ActionOptions, fs: &mut impl Fs) -> Result<()> { let locations = Locations::from(&command_options); + // FIXME: Re-add old repository deletion. + // if locations.ka_path.exists() { + // fs::remove_dir_all(locations.ka_path.as_path())?; + // } - if locations.ka_path.exists() { - fs::remove_dir_all(locations.ka_path.as_path())?; - } - - fs::create_dir(&locations.ka_path)?; - fs::create_dir(&locations.ka_files_path)?; + // fs::create_dir(&locations.ka_path)?; + // fs::create_dir(&locations.ka_files_path)?; - let mut index_file = File::create(locations.get_repository_index())?; + let mut index_file = fs.create_file(&locations.get_repository_index_path())?; let empty_history = RepositoryHistory::default(); - empty_history.write_to_file(&mut index_file)?; + empty_history.write_to_file(fs, &mut index_file)?; - update(command_options)?; + update(command_options, fs)?; Ok(()) } -- cgit 1.4.1