[llvm] r219290 - Update git-svnrevert to accept git and svn revisions

David Blaikie dblaikie at gmail.com
Wed Oct 8 08:36:56 PDT 2014


On Wed, Oct 8, 2014 at 2:32 AM, Renato Golin <renato.golin at linaro.org>
wrote:

> Author: rengolin
> Date: Wed Oct  8 04:32:47 2014
> New Revision: 219290
>
> URL: http://llvm.org/viewvc/llvm-project?rev=219290&view=rev
> Log:
> 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.
>

Shiny - thanks a bunch!


>
> Modified:
>     llvm/trunk/utils/git-svn/git-svnrevert
>
> Modified: llvm/trunk/utils/git-svn/git-svnrevert
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/git-svn/git-svnrevert?rev=219290&r1=219289&r2=219290&view=diff
>
> ==============================================================================
> --- llvm/trunk/utils/git-svn/git-svnrevert (original)
> +++ llvm/trunk/utils/git-svn/git-svnrevert Wed Oct  8 04:32:47 2014
> @@ -2,7 +2,7 @@
>
>  if [ $# -ne 1 ]; then
>      echo "Invalid arguments!"
> -    echo "$0 <commit to revert>"
> +    echo "$0 <rNNNNNN | git-hash>"
>      exit 1
>  fi
>
> @@ -13,20 +13,27 @@ if [ -n "$(git status -uno -s --porcelai
>  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-
>  cat > $TEMPLATE <<EOF
>  Revert "$ONE_LINE_MSG"
>
> -This reverts commit r$SVN_REVISION.
> +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 $COMMIT.
> Reverting to head."
> +    echo "Error! Failed to commit reverting commit for commit r$SVN.
> Reverting to head."
>      git reset --hard HEAD
>      rm -rf $TEMPLATE
>      exit 1
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20141008/08f22961/attachment.html>


More information about the llvm-commits mailing list