feat(kugetsu): cmd_delegate calls cmd_start directly for parallelization (fixes #75) #111

Closed
shoko wants to merge 3 commits from fix/issue-75-direct-delegate-v2 into main
Showing only changes of commit cd97ce76e6 - Show all commits

17
kugetsu
View File

@@ -610,12 +610,11 @@ extract_issue_ref_from_message() {
local message="$1" local message="$1"
if echo "$message" | grep -qE 'https?://[^/]+/[^/]+/[^/]+/issues/[0-9]+'; then if echo "$message" | grep -qE 'https?://[^/]+/[^/]+/[^/]+/issues/[0-9]+'; then
echo "$message" | grep -oE 'https?://[^/]+/[^/]+/[^/]+/issues/[0-9]+' | while read -r url; do local url=$(echo "$message" | grep -oE 'https?://[^/]+/[^/]+/[^/]+/issues/[0-9]+' | head -1)
local instance=$(echo "$url" | grep -oE 'https?://[^/]+' | sed 's|https?://||') local instance=$(echo "$url" | sed -E 's|https?://([^/]+)/.*|\1|')
local path=$(echo "$url" | grep -oE '/[^/]+/[^/]+') local path=$(echo "$url" | grep -oE '/[^/]+/[^/]+' | sed 's/^\///')
local issue_num=$(echo "$url" | grep -oE '[0-9]+$') local issue_num=$(echo "$url" | grep -oE '[0-9]+$')
echo "${instance}${path}#${issue_num}" echo "${instance}/${path}#${issue_num}"
done
return return
fi fi
@@ -624,7 +623,7 @@ extract_issue_ref_from_message() {
return return
fi fi
if echo "$message" | grep -qE '#[0-9]+'; then if echo "$message" | grep -qE '#[0-9]+\s'; then
local num=$(echo "$message" | grep -oE '#[0-9]+' | head -1) local num=$(echo "$message" | grep -oE '#[0-9]+' | head -1)
if [ -f "$REPOS_CONFIG" ]; then if [ -f "$REPOS_CONFIG" ]; then
local first_repo=$(python3 -c "import json; d=json.load(open('$REPOS_CONFIG')); print(list(d.values())[0] if d else '')" 2>/dev/null || echo "") local first_repo=$(python3 -c "import json; d=json.load(open('$REPOS_CONFIG')); print(list(d.values())[0] if d else '')" 2>/dev/null || echo "")
@@ -634,8 +633,6 @@ extract_issue_ref_from_message() {
return return
fi fi
fi fi
echo "github.com/unknown/repo${num}"
return
fi fi
echo "" echo ""
@@ -653,7 +650,7 @@ cmd_delegate() {
local issue_ref=$(extract_issue_ref_from_message "$message") local issue_ref=$(extract_issue_ref_from_message "$message")
if [ -n "$issue_ref" ] && [[ "$issue_ref" =~ \#[0-9]+$ ]]; then if [ -n "$issue_ref" ] && [[ "$issue_ref" =~ #[0-9]+$ ]]; then
cmd_start "$issue_ref" "$message" cmd_start "$issue_ref" "$message"
return return
fi fi