From 0cec4f424aa1f2de3b1c8edbdf08b6b1843b1341 Mon Sep 17 00:00:00 2001 From: Sparrow He Date: Thu, 31 Oct 2024 11:28:18 +0000 Subject: [PATCH] fix(server): change to git-check-ref-format #17 --- server/src/api.rs | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/server/src/api.rs b/server/src/api.rs index 28b2d28..9b3d8af 100644 --- a/server/src/api.rs +++ b/server/src/api.rs @@ -96,10 +96,14 @@ pub async fn pipeline_new( } // sanitize git_branch arg - if !git_branch - .chars() - .all(|ch| ch.is_ascii_alphanumeric() || ch == '.' || ch == '-' || ch == '+' || ch == '_') - { + let output = tokio::process::Command::new("git") + .arg("check-ref-format") + .arg("--branch") + .arg(git_branch) + .output() + .await + .context("Failed to check git branch")?; + if !output.status.success() { return Err(anyhow!("Invalid branch: {git_branch}")); }