-
-
Notifications
You must be signed in to change notification settings - Fork 491
Reviewer Tools
Kwankyu Lee edited this page Oct 31, 2023
·
9 revisions
Bash scripts useful to review PRs locally.
Dependencies:
- GitHub CLI: https://cli.github.com
- jq: https://jqlang.github.io/jq
Create a local branch named p/12345/pr-description
from a GitHub PR #12345.
Usage:gh-review 12345
#!/bin/bash
set -ex
PR_NUMBER="$1"
BRANCH_NAME=p/$PR_NUMBER/$(gh pr view "$PR_NUMBER" --json headRefName | jq -r '.headRefName')
gh pr checkout $PR_NUMBER -b "$BRANCH_NAME"
Delete all local branches (created by gh-review
) whose connected PR was merged in GitHub.
Usage: gh-close-merged
#!/bin/bash
# Iterate over all local branches
for branch in $(git branch | cut -c 3-); do
# Check if the branch name matches the format
if [[ $branch =~ ^p/([0-9]+)/ ]]; then
# Extract the PR number from the branch name
branch_pr_number=${BASH_REMATCH[1]}
# Get the state of the pull request
pr_state=$(gh pr view $branch_pr_number --json state | jq -r '.state')
# Check if the pull request is merged
if [[ $pr_state == "MERGED" ]]; then
# Delete the local branch
if git branch -d $branch; then
echo "Branch $branch was deleted since pull request #$branch_pr_number was merged."
else
echo "Failed to delete branch $branch."
fi
echo "---"
fi
fi
done
Acknowledgment: Thanks, ChatGPT!
Readme | Version | Citation | Authors | Contributing | Code of Conduct | Copyright ©️ 2023 Sage Developer Community