#!/bin/bash

if [ $# -ne 1 ]; then
    echo "Invalid arguments!"
    echo "$0 <rNNNNNN | git-hash>"
    exit 1
fi

if [ -n "$(git status -uno -s --porcelain)" ]; then
    echo "You have unstashed changes. Please stash and then revert."
    git status -uno
    exit 1
fi

COMMIT=$1
OTHER=$(git svn find-rev "$COMMIT")
if [ $? -ne 0 ] || [ "$OTHER" = "" ]; then
    echo "Error! Could not find an svn/git revision for commit $COMMIT!"
    echo
    echo "Possible problems are:"
    echo "  * Your revision number ($COMMIT) is wrong"
    echo "  * This tree is not up to date (before that commit)"
    echo "  * This commit in in another three (llvm, clang, compiler-rt, etc)"
    exit 1
fi

if [ -n "$(echo $COMMIT | grep '^r[0-9]\+')" ]; then
  SVN=`echo $COMMIT | sed -e 's/^r//'`
  GIT=$OTHER
else
  SVN=$OTHER
  GIT=$COMMIT
fi

# Grab the one line message for our revert commit message.
ONE_LINE_MSG=$(git log --oneline $GIT -1 | cut -f2- -d " ")

# Revert the commit.
git revert --no-commit $GIT 2>/dev/null
if [ $? -ne 0 ]; then
    echo "Error! Failed to revert commit r$SVN. Resetting to head."
    git reset --hard HEAD
    exit 1
fi

# Create a template in our .git directory.
TEMPLATE="`git rev-parse --git-dir`/git-svn-revert-template"
cat > $TEMPLATE <<EOF
Revert "$ONE_LINE_MSG"

This reverts commit r$SVN.
EOF

# Begin the commit but give our user an opportunity to edit it.
git commit --file="$TEMPLATE" --edit
if [ $? -ne 0 ]; then
    echo "Error! Failed to commit reverting commit for commit r$SVN. Reverting to head."
    git reset --hard HEAD
    rm -rf $TEMPLATE
    exit 1
fi

rm -rf $TEMPLATE

