-
Notifications
You must be signed in to change notification settings - Fork 4.1k
Rando scripts
Nathan VanBenschoten edited this page May 13, 2016
·
15 revisions
- Get a PR locally, or create a PR from the current branch.
Courtesy of @tamird.
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[:/]([^\./]+)/[^\./]+(\.git)?,2,円') github_origin_proj_url=$(git config remote.origin.url | sed -E -e 's,^(https://|git@)github.com[:/]([^\./]+/[^\./]+)(\.git)?,2,円') url="https://github.com/$github_origin_proj_url/compare/master...$github_forked_org_name:$branch_name?expand=" open "$url" else hub fetch origin refs/pull/"1ドル"/head:pr/"1ドル" && hub checkout pr/"1ドル" fi
- Determine the variables which are escaping to the heap for a given file. Courtesy of @nvanbenschoten.
#!/usr/bin/env bash set -eu if [ $# -eq 0 ] then echo "usage: goescape <filename>" exit 1 fi FILEPATH="1ドル" DIR=$(dirname "$FILEPATH") FILE=$(basename "$FILEPATH") pushd "$DIR" > /dev/null touch "$FILE" go build -gcflags='-m' 2>&1 | \ grep 'moved to heap' | \ grep "$FILE" popd > /dev/null