Add space between text and url in ak-code-review
[akaros.git] / scripts / ak-scripts / ak-code-review.sh
1 #!/usr/bin/env bash
2 #
3 # Copyright (c) 2015 Google Inc.
4 # Kevin Klues <klueska@cs.berkeley.edu>
5 # See LICENSE for details.
6
7 # Some global variables
8 origin="brho"
9
10 function short_description() {
11         echo "Prepare the message body for an akaros code review"
12 }
13
14 function usage() {
15         echo "Usage:"
16         echo "    ${cmd} [ -h | --help ]"
17         echo "    ${cmd} [ -p ] <base> <remote> [ <head> ]"
18         echo ""
19         echo "Options:"
20         echo "    -h --help           Display this screen and exit"
21         echo "    -p                  Show patch text as well"
22         echo ""
23         echo "Description:"
24         echo "    This tool takes the same parameters as the standard"
25         echo "    git request-pull command but formats the output"
26         echo "    in a more convenient format for akaros code-reviews"
27         echo "    Please copy the contents of the output into an email"
28         echo "    and send it to akaros@googlegroups.com for review"
29 }
30
31 function gen_request()
32 {
33         # Set some local variables
34         local base_sha1=$(git rev-parse ${base})
35         local head_sha1=$(git rev-parse ${head})
36         base_sha1=${base_sha1:0:7}
37         head_sha1=${head_sha1:0:7}
38
39         # Get the text from a git request-pull
40     request=$(git request-pull ${patch} ${base} ${remote} ${head});
41         ret=${?};
42         if [ "${ret}" != "0" ]; then
43                 kill -s TERM $TOP_PID
44         else
45                 echo "The changes in this request can be viewed online at:"
46                 echo ""
47                 echo "    https://github.com/brho/akaros/compare/${base_sha1}...${head_sha1}"
48                 echo ""
49                 echo "${request}"
50
51         fi
52 }
53
54 function main() {
55         # Set so functions can exit from entire program if desired
56         trap "exit 1" TERM
57         export TOP_PID=$$
58
59         # Verify cmd-line options
60         if [ "${head}" = "" ]; then
61                 head=$(git rev-parse --abbrev-ref HEAD)
62         fi
63         if [ "${_p}" = "true" ]; then
64                 local patch="-p"
65         fi
66
67         gen_request
68 }