| #!/usr/bin/env bash |
| # |
| # Copyright (c) 2015 Google Inc. |
| # Kevin Klues <klueska@cs.berkeley.edu> |
| # See LICENSE for details. |
| |
| # Some global variables |
| origin="brho" |
| |
| function short_description() { |
| echo "Prepare the message body for an akaros code review" |
| } |
| |
| function usage() { |
| echo "Usage:" |
| echo " ${cmd} [ -h | --help ]" |
| echo " ${cmd} [ -p ] <base> <remote> [ <head> ]" |
| echo "" |
| echo "Options:" |
| echo " -h --help Display this screen and exit" |
| echo " -p Show patch text as well" |
| echo "" |
| echo "Description:" |
| echo " This tool takes the same parameters as the standard" |
| echo " git request-pull command but formats the output" |
| echo " in a more convenient format for akaros code-reviews" |
| echo " Please copy the contents of the output into an email" |
| echo " and send it to akaros@googlegroups.com for review" |
| } |
| |
| function gen_request() |
| { |
| # Set some local variables |
| local base_sha1=$(git rev-parse ${base}) |
| local head_sha1=${remote}:${head} |
| base_sha1=${base_sha1:0:7} |
| |
| # Get the text from a git request-pull |
| request=$(git request-pull ${patch} ${base} ${remote} ${head}); |
| ret=${?}; |
| if [ "${ret}" != "0" ]; then |
| kill -s TERM $TOP_PID |
| else |
| echo "The changes in this request can be viewed online at:" |
| echo "" |
| echo " https://github.com/brho/akaros/compare/${base_sha1}...${head_sha1}" |
| echo "" |
| echo "${request}" |
| |
| fi |
| } |
| |
| function main() { |
| # Set so functions can exit from entire program if desired |
| trap "exit 1" TERM |
| export TOP_PID=$$ |
| |
| # Verify cmd-line options |
| if [ "${head}" = "" ]; then |
| head=$(git rev-parse --abbrev-ref HEAD) |
| fi |
| if [ "${_p}" = "true" ]; then |
| local patch="-p" |
| fi |
| |
| gen_request |
| } |