mirror of
				https://github.com/c64scene-ar/llvm-6502.git
				synced 2025-11-04 05:17:07 +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
 | 
						|
 |