|  | #!/bin/bash | 
|  |  | 
|  | # Grab the latest patch set from gerrit | 
|  | # Change the following to match your remote name for gerrit. | 
|  | GERRIT_REMOTE=gerrit | 
|  | GERRIT_URL="https://akaros-review.googlesource.com/#/c/" | 
|  |  | 
|  | if [ "$#" -ne 2 ] | 
|  | then | 
|  | echo "USAGE: git gerrit-track number branch-name" | 
|  | exit -1 | 
|  | elif ! [[ $1 =~ ^[0-9]+$ ]] | 
|  | then | 
|  | echo "Gerrit change number is not a number: $1" | 
|  | exit -1 | 
|  | fi | 
|  |  | 
|  | BRANCHES=`git ls-remote --exit-code $GERRIT_REMOTE` | 
|  |  | 
|  | if [ "$?" -ne 0 ] | 
|  | then | 
|  | echo "Error occurred during ls-remote. Please make sure that your remote for gerrit exists, and that GERRIT_REMOTE in this script is pointing to the correct remote." | 
|  | exit -1 | 
|  | fi | 
|  |  | 
|  | VERSION=`echo "$BRANCHES" | grep "refs/changes/.*/$1/[0-9]\+" | cut -f 5 -d '/' | sort -n | tail -1` | 
|  | BRANCH=`echo "$BRANCHES" | grep "refs/changes/.*/$1/$VERSION" | cut -f 2` | 
|  | echo "Gerrit remote branch is: $BRANCH" | 
|  | echo "The review can be found at: $GERRIT_URL$1/" | 
|  | git fetch gerrit $BRANCH | 
|  | git branch -f $2 FETCH_HEAD | 
|  | echo "The local branch is now at $2" | 
|  |  |