diff options
Diffstat (limited to 'buildroot/share/git/mffp')
-rw-r--r-- | buildroot/share/git/mffp | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/buildroot/share/git/mffp b/buildroot/share/git/mffp new file mode 100644 index 0000000..2663a4a --- /dev/null +++ b/buildroot/share/git/mffp @@ -0,0 +1,27 @@ +#!/usr/bin/env bash +# +# mffp [1|2|3] [commit-id] +# +# Push the given commit (or HEAD) upstream immediately. +# By default: `git push upstream HEAD:bugfix-1.1.x` +# + +[[ $# < 3 && $1 != "-h" && $1 != "--help" ]] || { echo "usage: `basename $0` [1|2|3] [commit-id]" 1>&2 ; exit 1; } + +if [[ $1 == '1' || $1 == '2' || $1 == '3' ]]; then + MFINFO=$(mfinfo "$1") || exit 1 + REF=${2:-HEAD} +else + MFINFO=$(mfinfo) || exit 1 + REF=${1:-HEAD} +fi + +IFS=' ' read -a INFO <<< "$MFINFO" +ORG=${INFO[0]} +TARG=${INFO[3]} + +if [[ $ORG == "MarlinFirmware" ]]; then + git push upstream $REF:$TARG +else + echo "Not a MarlinFirmware working copy."; exit 1 +fi |