diff --git a/bin/git-abort b/bin/git-abort new file mode 100755 index 0000000..078c3da --- /dev/null +++ b/bin/git-abort @@ -0,0 +1,20 @@ +#!/bin/bash + +# Abort a rebase, merge, `am`, a cherry-pick or a revert, depending on the situation. + +if [[ -e .git/CHERRY_PICK_HEAD ]] ; then + exec git cherry-pick --abort "$@" +elif [[ -e .git/REVERT_HEAD ]] ; then + exec git revert --abort "$@" +elif [[ -e .git/rebase-apply/applying ]] ; then + exec git am --abort "$@" +elif [[ -e .git/rebase-apply ]] ; then + exec git rebase --abort "$@" +elif [[ -e .git/rebase-merge ]] ; then + exec git rebase --abort "$@" +elif [[ -e .git/MERGE_MODE ]] ; then + exec git merge --abort "$@" +else + echo git-abort: unknown state + exit -1 +fi diff --git a/bin/git-continue b/bin/git-continue new file mode 100755 index 0000000..9bebe0d --- /dev/null +++ b/bin/git-continue @@ -0,0 +1,16 @@ +#!/bin/bash + +# Continue a rebase or cherry-pick in the event of conflicts. + +if [[ -e .git/CHERRY_PICK_HEAD ]] ; then + exec git cherry-pick --continue "$@" +elif [[ -e .git/rebase-apply/applying ]] ; then + exec git rebase --continue "$@" +elif [[ -e .git/rebase-apply ]] ; then + exec git rebase --continue "$@" +elif [[ -e .git/rebase-merge ]] ; then + exec git rebase --continue "$@" +else + echo git-abort: unknown state + exit -1 +fi