use anyhow::Result;
use monolith::operations::executor::OperationExecutor;
use monolith::types::Operation;
use std::path::PathBuf;
use tracing::info;
fn main() -> Result<()> {
monolith::utils::logger::setup_logging(true)?;
info!("Starting concurrent operations example");
let executor = OperationExecutor::new(4);
let source_dir = PathBuf::from("/path/to/repositories");
let pull_operation = Operation::Pull;
println!("Pulling latest changes from all repositories in {}", source_dir.display());
println!("Operation completed successfully");
let status_operation = Operation::Status;
println!("Checking status of all repositories in {}", source_dir.display());
println!("Status check completed successfully");
let custom_command = "git gc";
let run_operation = Operation::Run(custom_command.to_string());
println!("Running '{}' on all repositories in {}", custom_command, source_dir.display());
println!("Custom command execution completed successfully");
Ok(())
}