blob: ceacb5242e8beac70ad0bca2e268dc4c9812c771 [file] [log] [blame]
#!/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"