From: Renato Golin Date: Wed, 8 Oct 2014 09:32:47 +0000 (+0000) Subject: Update git-svnrevert to accept git and svn revisions X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=9e9c2aff71eb52c92182ad1700278f7fba5d9b49;p=oota-llvm.git Update git-svnrevert to accept git and svn revisions Interchangeable commit ids can now be used on this git-svnrevert, which will figure out what kind of commit that is (if you use format rNNNN for SVN commits) and make sure the right ids are used in the right places. It's a little bit more robust and user-friendly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@219290 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/utils/git-svn/git-svnrevert b/utils/git-svn/git-svnrevert index 06a9c440915..f15e7abfb3f 100755 --- a/utils/git-svn/git-svnrevert +++ b/utils/git-svn/git-svnrevert @@ -2,7 +2,7 @@ if [ $# -ne 1 ]; then echo "Invalid arguments!" - echo "$0 " + echo "$0 " exit 1 fi @@ -13,20 +13,27 @@ if [ -n "$(git status -uno -s --porcelain)" ]; then fi COMMIT=$1 - -SVN_REVISION=$(git svn find-rev "$COMMIT") +OTHER=$(git svn find-rev "$COMMIT") if [ $? -ne 0 ]; then - echo "Error! Could not find an svn revision for commit $COMMIT!" + echo "Error! Could not find an svn/git revision for commit $COMMIT!" 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 $COMMIT -1 | cut -f2- -d " ") +ONE_LINE_MSG=$(git log --oneline $GIT -1 | cut -f2- -d " ") # Revert the commit. -git revert --no-commit $COMMIT 2>/dev/null +git revert --no-commit $GIT 2>/dev/null if [ $? -ne 0 ]; then - echo "Error! Failed to revert commit $COMMIT. Resetting to head." + echo "Error! Failed to revert commit r$SVN. Resetting to head." git reset --hard HEAD exit 1 fi @@ -36,13 +43,13 @@ TEMPLATE="`git rev-parse --git-dir`/git-svn-revert-template" cat > $TEMPLATE <