| #!/bin/bash | 
 | # Barret Rhoden (brho@cs.berkeley.edu) | 
 | # Copyright 2016 Google Inc | 
 | # | 
 | # Tracks a remote branch and runs checkpatch on the commits from the merge | 
 | # point of master to the tip of the remote branch. | 
 |  | 
 | PATCHDIR="${PATCHDIR:-../patches}" | 
 |  | 
 | usage() | 
 | { | 
 | 	echo "$0 <remote>/<branch> [<url>]" | 
 | 	exit -1 | 
 | } | 
 |  | 
 | if [ $# -lt 1 ] | 
 | then | 
 | 	usage | 
 | fi | 
 |  | 
 | if [ ! -f ./scripts/checkpatch.pl ] | 
 | then | 
 | 	echo "Run from the root of the Akaros repo" | 
 | 	exit -1 | 
 | fi | 
 |  | 
 | REMOTE=`echo $1 | cut -f 1 -d '/'` | 
 | TO=`echo $1 | cut -f 2- -d '/'` | 
 |  | 
 | git track $REMOTE/$TO $2 | 
 |  | 
 | if [ $? -ne 0 ] | 
 | then | 
 | 	exit -1 | 
 | fi | 
 |  | 
 | FROM=`git merge-base master $REMOTE/$TO` | 
 |  | 
 | if [ $? -ne 0 ] | 
 | then | 
 | 	echo "From failed; $FROM" | 
 | 	exit -1 | 
 | fi | 
 |  | 
 | ls $PATCHDIR/*.patch 2>/dev/null | 
 |  | 
 | if [ $? -eq 0 ] | 
 | then | 
 | 	echo "$PATCHDIR has patches, remove and try again" | 
 | 	exit -1 | 
 | fi | 
 |  | 
 | git format-patch -k -M -N -o $PATCHDIR $FROM..$REMOTE/$TO | 
 |  | 
 | ./scripts/checkpatch.pl $PATCHDIR/* |