From 755e28d044aaff9a8aa0fa4700105564726ec33d Mon Sep 17 00:00:00 2001 From: Justin Wernick Date: Fri, 14 Jul 2023 13:13:11 +0200 Subject: Add a housekeeping task, which does git gc --- src/lib.rs | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'src/lib.rs') diff --git a/src/lib.rs b/src/lib.rs index 809c62d..163e41b 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -63,6 +63,25 @@ pub fn run_command(user_input: &str) -> Result, ShackleError git::delete(&directory)?; println!("Successfully deleted \"{}\"", directory.display()); } + Ok(ShackleCommand::Housekeeping(HousekeepingArgs { directory })) => match directory { + Some(directory) => { + git::housekeeping(&directory)?; + println!( + "Successfully did housekeeping on \"{}\"", + directory.display() + ); + } + None => { + let list = git::list()?; + for repo in list { + git::housekeeping(&repo.path)?; + println!( + "Successfully did housekeeping on \"{}\"", + repo.path.display() + ); + } + } + }, Ok(ShackleCommand::GitUploadPack(upload_pack_args)) => { git::upload_pack(&upload_pack_args)?; } -- cgit v1.2.3