summaryrefslogtreecommitdiff
path: root/src/lib.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib.rs')
-rw-r--r--src/lib.rs19
1 files changed, 19 insertions, 0 deletions
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<ControlFlow<(), ()>, 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)?;
}