From: Alpha Chen Date: Mon, 27 Apr 2026 03:07:45 +0000 (-0700) Subject: Dispatch git subcommands via the git binary X-Git-Url: http://quire.kejadlen.dev/?a=commitdiff_plain;h=1056b88ce39b6c5d5202c4c9dd4d4e4243b5cf29;p=quire.git Dispatch git subcommands via the git binary The standalone git-receive-pack binary lives in libexec/git-core/, which is not on PATH in the container. Using `git receive-pack` lets the git binary handle the dispatch internally. Assisted-by: GLM-5.1 via pi --- diff --git a/src/bin/quire/commands/exec.rs b/src/bin/quire/commands/exec.rs index f408924..59f8f9e 100644 --- a/src/bin/quire/commands/exec.rs +++ b/src/bin/quire/commands/exec.rs @@ -48,7 +48,13 @@ fn dispatch_git(quire: &Quire, git_cmd: &str, args: &[String]) -> Result<()> { ensure!(repo.exists(), "repository not found: {path}"); tracing::info!(%git_cmd, %path, "dispatching git command"); - let err = Command::new(git_cmd) + // Use `git ` instead of `git-` so the git + // binary handles dispatch to libexec/git-core/ internally. + let subcommand = git_cmd + .strip_prefix("git-") + .ok_or_else(|| miette::miette!("unexpected git command: {git_cmd}"))?; + let err = Command::new("git") + .arg(subcommand) .arg(".") .current_dir(repo.path()) .exec();