[maintainer-tools] github-merge-pr: handle user using master as pushing repo

LEDE Commits lede-commits at lists.infradead.org
Fri Oct 14 05:52:09 PDT 2022


ansuel pushed a commit to maintainer-tools.git, branch master:
https://git.openwrt.org/e7f16343cfdb9ece9b1dc3b808c856e746eff412

commit e7f16343cfdb9ece9b1dc3b808c856e746eff412
Author: Christian Marangi <ansuelsmth at gmail.com>
AuthorDate: Fri Oct 14 14:48:48 2022 +0200

    github-merge-pr: handle user using master as pushing repo
    
    Some user may use master or other openwrt repo as the pr repo. This is
    problematic as we checkout with the pr repo name and this may conflict
    with the current openwrt branch name.
    
    Fix it and checkout the local branch with the pr repo name + the pr
    author.
    
    Example:
    
    usertest123:master is checkout to master-usertest123
    
    Signed-off-by: Christian Marangi <ansuelsmth at gmail.com>
---
 github-merge-pr.sh | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/github-merge-pr.sh b/github-merge-pr.sh
index 9bf1c65..bfd7e2a 100755
--- a/github-merge-pr.sh
+++ b/github-merge-pr.sh
@@ -60,6 +60,7 @@ fi
 
 PR_USER="$(echo "$PR_INFO" | jq -r ".head.user.login")"
 PR_BRANCH="$(echo "$PR_INFO" | jq -r ".head.ref")"
+LOCAL_PR_BRANCH="$PR_BRANCH"-"$PR_USER"
 PR_REPO="$(echo "$PR_INFO" | jq -r ".head.repo.html_url")"
 
 if ! $GIT remote get-url $PR_USER &> /dev/null || [ -n "$DRY_RUN" ]; then
@@ -70,20 +71,20 @@ fi
 echo "Fetching remote $PR_USER"
 $GIT fetch $PR_USER
 
-echo "Creating branch $PR_BRANCH"
-if ! $GIT checkout -b $PR_BRANCH $PR_USER/$PR_BRANCH; then
+echo "Creating branch $LOCAL_PR_BRANCH for $PR_BRANCH"
+if ! $GIT checkout -b $LOCAL_PR_BRANCH $PR_USER/$PR_BRANCH; then
 	echo "Failed to checkout new branch $PR_BRANCH from $PR_USER/$PR_BRANCH" >&2
 	exit 8
 fi
 
-echo "Rebasing $PR_BRANCH on top of $BRANCH"
+echo "Rebasing $LOCAL_PR_BRANCH on top of $BRANCH"
 if ! $GIT rebase origin/$BRANCH; then
 	echo "Failed to rebase $PR_BRANCH with origin/$BRANCH" >&2
 	exit 9
 fi
 
-echo "Force pushing $PR_BRANCH to $PR_USER"
-if ! $GIT push $PR_USER HEAD --force; then
+echo "Force pushing $LOCAL_PR_BRANCH to HEAD:$PR_BRANCH for $PR_USER"
+if ! $GIT push $PR_USER HEAD:$PR_BRANCH --force; then
 	echo "Failed to force push HEAD to $PR_USER" >&2
 	exit 10
 fi
@@ -103,8 +104,8 @@ if ! $GIT push; then
 	exit 12
 fi
 
-echo "Deleting branch $PR_BRANCH"
-$GIT branch -D $PR_BRANCH
+echo "Deleting branch $LOCAL_PR_BRANCH"
+$GIT branch -D $LOCAL_PR_BRANCH
 
 # Default close comment
 COMMENT="Thanks! Rebased on top of $BRANCH and merged!"




More information about the lede-commits mailing list