@@ -76,13 +76,21 @@ COMMIT_TITLE="$(git log --format='%s' -n 1 "$COMMIT_SHA")"
7676COMMIT_AUTHOR=" $( git log --format=' %an <%ae>' -n 1 " $COMMIT_SHA " ) "
7777COMMIT_URL=" https://github.com/${SOURCE_REPO} /commit/${COMMIT_SHA} "
7878SHORT_SHA=" ${COMMIT_SHA: 0: 7} "
79+ if [[ -z " $COMMIT_TITLE " ]]; then
80+ COMMIT_TITLE=" Backport ${SHORT_SHA} from ${SOURCE_REPO} "
81+ fi
82+ TITLE_SUFFIX=" (${SHORT_SHA} )"
83+ if [[ " $COMMIT_TITLE " == * " $SHORT_SHA " * ]]; then
84+ TITLE_SUFFIX=" "
85+ fi
7986BRANCH_NAME=" backport/${SHORT_SHA} -to-${TARGET_BRANCH} "
8087
8188[[ " $BRANCH_NAME " =~ ^[A-Za-z0-9._/-]+$ ]] || die " Generated branch name is unsafe: $BRANCH_NAME "
8289
8390echo -e " ${YELLOW} Generated branch name: ${BRANCH_NAME}${NC} "
8491
85- EXISTING_PR=" $( gh pr list --state all --search " \" backport ${SHORT_SHA} \" in:title" --json url --jq ' .[0].url' 2> /dev/null || true) "
92+ SEARCH_QUERY=" ${COMMIT_URL} in:body"
93+ EXISTING_PR=" $( gh pr list --state all --search " $SEARCH_QUERY " --json url --jq ' .[0].url' 2> /dev/null || true) "
8694if [[ -n " $EXISTING_PR " ]]; then
8795 echo -e " ${GREEN} PR already exists: ${EXISTING_PR} . Skipping duplicate.${NC} "
8896 exit 0
134142echo -e " ${YELLOW} Creating pull request...${NC} "
135143
136144if [[ " $HAS_CONFLICTS " == " true" ]]; then
137- PR_TITLE=" 🔥 [CONFLICTS] backport ${SHORT_SHA} from ${SOURCE_REPO }"
145+ PR_TITLE=" conflict: ${COMMIT_TITLE}${TITLE_SUFFIX }"
138146 PR_BODY=$( cat << EOF
139147## ⚠️ Backport With Conflicts
140148
154162)
155163 LABEL_FLAGS=(--label backport --label automated --label needs-manual-action --label conflicts)
156164else
157- PR_TITLE=" chore: backport ${SHORT_SHA} from ${SOURCE_REPO }"
165+ PR_TITLE=" ${COMMIT_TITLE}${TITLE_SUFFIX }"
158166 PR_BODY=$( cat << EOF
159167## 🔄 Automated Backport
160168
0 commit comments