mirror of
				https://github.com/c64scene-ar/llvm-6502.git
				synced 2025-10-30 16:17:05 +00:00 
			
		
		
		
	Thanks Chandler! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180592 91177308-0d34-0410-b5e6-96231b3b80d8
		
			
				
	
	
		
			53 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/bash
 | |
| 
 | |
| if [ $# -ne 1 ]; then
 | |
|     echo "Invalid arguments!"
 | |
|     echo "$0 <commit to revert>"
 | |
|     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
 | |
| 
 | |
| SVN_REVISION=$(git svn find-rev "$COMMIT")
 | |
| if [ $? -ne 0 ]; then
 | |
|     echo "Error! Could not find an svn revision for commit $COMMIT!"
 | |
|     exit 1
 | |
| fi
 | |
| 
 | |
| # Grab the one line message for our revert commit message.
 | |
| ONE_LINE_MSG=$(git log --oneline $COMMIT -1 | cut -f2- -d " ")
 | |
| 
 | |
| # Revert the commit.
 | |
| git revert --no-commit $COMMIT 2>/dev/null
 | |
| if [ $? -ne 0 ]; then
 | |
|     echo "Error! Failed to revert commit $COMMIT. 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_REVISION.
 | |
| 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."
 | |
|     git reset --hard HEAD
 | |
|     rm -rf $TEMPLATE
 | |
|     exit 1
 | |
| fi
 | |
| 
 | |
| rm -rf $TEMPLATE
 | |
| 
 |