fix: add support for gitserver/owner/repo#number issue ref format

Add third pattern to parse_issue_ref_from_message() to support the mixed
format 'gitserver/owner/repo#number' (e.g., git.fbrns.co/shoko/kugetsu#116).

Previously only two formats were supported:
1. Full URL: #116
2. Short format: shoko/kugetsu#116

Now supports:
3. Mixed format: git.fbrns.co/shoko/kugetsu#116

Fixes #144
This commit is contained in:
shokollm
2026-04-05 10:22:31 +00:00
parent da0fa302de
commit d0b100fca8

View File

@@ -1145,6 +1145,11 @@ parse_issue_ref_from_message() {
owner=$(echo "$full_path" | cut -d'/' -f2)
repo=$(echo "$full_path" | cut -d'/' -f3)
issue_number=$(echo "$full_path" | grep -oE '[0-9]+$' | head -1)
elif echo "$message" | grep -qE '[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}/[a-zA-Z0-9_.-]+/[a-zA-Z0-9_.-]+#[0-9]+'; then
gitserver=$(echo "$message" | grep -oE '[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}/[a-zA-Z0-9_.-]+/[a-zA-Z0-9_.-]+' | head -1)
owner=$(echo "$gitserver" | cut -d'/' -f2)
repo=$(echo "$gitserver" | cut -d'/' -f3)
issue_number=$(echo "$message" | grep -oE '#[0-9]+' | grep -oE '[0-9]+' | head -1)
elif echo "$message" | grep -qE '[a-zA-Z0-9_.-]+/[a-zA-Z0-9_.-]+#([0-9]+)'; then
owner=$(echo "$message" | grep -oE '[a-zA-Z0-9_.-]+/[a-zA-Z0-9_.-]+#' | sed 's/#$//' | cut -d'/' -f1)
repo=$(echo "$message" | grep -oE '[a-zA-Z0-9_.-]+/[a-zA-Z0-9_.-]+#' | sed 's/#$//' | cut -d'/' -f2)