diff options
Diffstat (limited to 'gnu/llvm/utils/git-svn/git-svnrevert')
| -rwxr-xr-x | gnu/llvm/utils/git-svn/git-svnrevert | 64 |
1 files changed, 0 insertions, 64 deletions
diff --git a/gnu/llvm/utils/git-svn/git-svnrevert b/gnu/llvm/utils/git-svn/git-svnrevert deleted file mode 100755 index 4185ee7ae87..00000000000 --- a/gnu/llvm/utils/git-svn/git-svnrevert +++ /dev/null @@ -1,64 +0,0 @@ -#!/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 - |
