-
Notifications
You must be signed in to change notification settings - Fork 4.1k
Rando scripts
Andrei Matei edited this page Feb 12, 2016
·
15 revisions
- Get a PR locally, or create a PR from the current branch.
Curtesy of Tamir.
TODO:refuse to create a PR if the current branch diverged from the tracker.
#!/usr/bin/env sh set -eu error_message() { ret=$? if [ $ret -ne 0 ]; then echo "Something went wrong. Did you push your branch? Did you set a remote tracking branch?" fi exit $ret } trap error_message EXIT if [ $# == 0 ]; then branch_name=$(git rev-parse --abbrev-ref HEAD) remote_name=$(git config branch."$branch_name".remote) github_forked_org_name=$(git config remote."$remote_name".url | sed -E -e 's,^(https://|git@)github.com[:/]([a-z]+)/[a-z]+(\.git)?,2,円') github_origin_proj_url=$(git config remote.origin.url | sed -E -e 's,^(https://|git@)github.com[:/]([a-z]+/[a-z]+)(\.git)?,2,円') url="https://github.com/$github_origin_proj_url/compare/master...$github_forked_org_name:$branch_name?expand=1#files_bucket" open "$url" else hub fetch origin refs/pull/"1ドル"/head:pr/"1ドル" && hub checkout pr/"1ドル" fi