Add git helper scripts and update Doc/Contributing
[akaros.git] / scripts / git / git-track-review
1 #!/bin/bash
2 # Barret Rhoden (brho@cs.berkeley.edu)
3 # Copyright 2016 Google Inc
4 #
5 # Tracks a remote branch and runs checkpatch on the commits from the merge
6 # point of master to the tip of the remote branch.
7
8 PATCHDIR="${PATCHDIR:-../patches}"
9
10 usage()
11 {
12         echo "$0 <remote>/<branch> [<url>]"
13         exit -1
14 }
15
16 if [ $# -lt 1 ]
17 then
18         usage
19 fi
20
21 if [ ! -f ./scripts/checkpatch.pl ]
22 then
23         echo "Run from the root of the Akaros repo"
24         exit -1
25 fi
26
27 REMOTE=`echo $1 | cut -f 1 -d '/'`
28 TO=`echo $1 | cut -f 2- -d '/'`
29
30 git track $REMOTE/$TO $2
31
32 if [ $? -ne 0 ]
33 then
34         exit -1
35 fi
36
37 FROM=`git merge-base master $REMOTE/$TO`
38
39 if [ $? -ne 0 ]
40 then
41         echo "From failed; $FROM"
42         exit -1
43 fi
44
45 ls $PATCHDIR/*.patch 2>/dev/null
46
47 if [ $? -eq 0 ]
48 then
49         echo "$PATCHDIR has patches, remove and try again"
50         exit -1
51 fi
52
53 git format-patch -k -M -N -o $PATCHDIR $FROM..$REMOTE/$TO
54
55 ./scripts/checkpatch.pl $PATCHDIR/*