<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Oct 8, 2014 at 2:32 AM, Renato Golin <span dir="ltr"><<a href="mailto:renato.golin@linaro.org" target="_blank">renato.golin@linaro.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: rengolin<br>
Date: Wed Oct  8 04:32:47 2014<br>
New Revision: 219290<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=219290&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=219290&view=rev</a><br>
Log:<br>
Update git-svnrevert to accept git and svn revisions<br>
<br>
Interchangeable commit ids can now be used on this git-svnrevert, which<br>
will figure out what kind of commit that is (if you use format rNNNN for SVN<br>
commits) and make sure the right ids are used in the right places.<br>
<br>
It's a little bit more robust and user-friendly.<br></blockquote><div><br></div><div>Shiny - thanks a bunch!</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Modified:<br>
    llvm/trunk/utils/git-svn/git-svnrevert<br>
<br>
Modified: llvm/trunk/utils/git-svn/git-svnrevert<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/git-svn/git-svnrevert?rev=219290&r1=219289&r2=219290&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/git-svn/git-svnrevert?rev=219290&r1=219289&r2=219290&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/utils/git-svn/git-svnrevert (original)<br>
+++ llvm/trunk/utils/git-svn/git-svnrevert Wed Oct  8 04:32:47 2014<br>
@@ -2,7 +2,7 @@<br>
<br>
 if [ $# -ne 1 ]; then<br>
     echo "Invalid arguments!"<br>
-    echo "$0 <commit to revert>"<br>
+    echo "$0 <rNNNNNN | git-hash>"<br>
     exit 1<br>
 fi<br>
<br>
@@ -13,20 +13,27 @@ if [ -n "$(git status -uno -s --porcelai<br>
 fi<br>
<br>
 COMMIT=$1<br>
-<br>
-SVN_REVISION=$(git svn find-rev "$COMMIT")<br>
+OTHER=$(git svn find-rev "$COMMIT")<br>
 if [ $? -ne 0 ]; then<br>
-    echo "Error! Could not find an svn revision for commit $COMMIT!"<br>
+    echo "Error! Could not find an svn/git revision for commit $COMMIT!"<br>
     exit 1<br>
 fi<br>
<br>
+if [ -n "$(echo $COMMIT | grep '^r[0-9]\+')" ]; then<br>
+  SVN=`echo $COMMIT | sed -e 's/^r//'`<br>
+  GIT=$OTHER<br>
+else<br>
+  SVN=$OTHER<br>
+  GIT=$COMMIT<br>
+fi<br>
+<br>
 # Grab the one line message for our revert commit message.<br>
-ONE_LINE_MSG=$(git log --oneline $COMMIT -1 | cut -f2- -d " ")<br>
+ONE_LINE_MSG=$(git log --oneline $GIT -1 | cut -f2- -d " ")<br>
<br>
 # Revert the commit.<br>
-git revert --no-commit $COMMIT 2>/dev/null<br>
+git revert --no-commit $GIT 2>/dev/null<br>
 if [ $? -ne 0 ]; then<br>
-    echo "Error! Failed to revert commit $COMMIT. Resetting to head."<br>
+    echo "Error! Failed to revert commit r$SVN. Resetting to head."<br>
     git reset --hard HEAD<br>
     exit 1<br>
 fi<br>
@@ -36,13 +43,13 @@ TEMPLATE="`git rev-parse --git-dir`/git-<br>
 cat > $TEMPLATE <<EOF<br>
 Revert "$ONE_LINE_MSG"<br>
<br>
-This reverts commit r$SVN_REVISION.<br>
+This reverts commit r$SVN.<br>
 EOF<br>
<br>
 # Begin the commit but give our user an opportunity to edit it.<br>
 git commit --file="$TEMPLATE" --edit<br>
 if [ $? -ne 0 ]; then<br>
-    echo "Error! Failed to commit reverting commit for commit $COMMIT. Reverting to head."<br>
+    echo "Error! Failed to commit reverting commit for commit r$SVN. Reverting to head."<br>
     git reset --hard HEAD<br>
     rm -rf $TEMPLATE<br>
     exit 1<br>
<br>
<br>
_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
</blockquote></div><br></div></div>