use clap::Args as ClapArgs;
use crate::{
cli::CliResult,
core::{commit, context::Context},
};
#[derive(Debug, Clone, ClapArgs)]
#[command(about = "Push local Git changes while applying Commit Wizard push-time policy checks")]
pub struct Args {
#[arg(long)]
pub from: Option<String>,
#[arg(long, default_value = "HEAD")]
pub to: String,
#[arg(long, default_value = "origin")]
pub remote: String,
#[arg(long)]
pub branch: Option<String>,
#[arg(long)]
pub allow_empty: bool,
}
pub async fn run(ctx: &Context, args: Args) -> CliResult<()> {
commit::push::run(
ctx,
args.from,
args.to,
args.remote,
args.branch,
args.allow_empty,
)
}