[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