Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- if [ "$1" == "-s" ]; then
- SIGN="-s"
- shift
- else
- SIGN=""
- fi
- START=${1:-'FAIL'}
- END=${2:-'CHERRY'}
- if [ "$START" == 'FAIL' ]; then
- echo "NEED SOURCE BRANCH"
- exit 1;
- fi
- if [ "$START" == 'CONTINUE' ]; then
- COMMITS=`cat ~/.git-cherrypick-resume-commits`
- SIGN=`cat ~/.git-cherrypick-resume-sign`
- elif [ "$END" == 'CHERRY' ]; then
- COMMITS=`git cherry HEAD $START | grep ^+ | cut -f2 -d' '`
- else
- COMMITS=`git log --pretty=oneline --reverse $START...$END | cut -f1 -d' '`
- fi
- if [ "$SIGN" != "-s" ]; then
- SIGN=''
- fi
- for commit in $COMMITS
- do
- COMMITS=`echo $COMMITS | sed -e "s/.*$commit\s*//"`
- git cherry-pick $SIGN $commit
- if [ $? -ne 0 ]; then
- echo $COMMITS > ~/.git-cherrypick-resume-commits
- echo "$SIGN" > ~/.git-cherrypick-resume-sign
- exit 1
- fi
- done
- rm -f ~/.git-cherrypick-resume-commits ~/.git-cherrypick-resume-sign
- exit 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement