2016-04-18 23:18:35 -05:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
#
|
|
|
|
# mfrb
|
|
|
|
#
|
2020-01-05 01:24:28 -06:00
|
|
|
# Do "git rebase -i" against the "target" branch (bugfix-1.1.x, bugfix-2.0.x, dev-2.1.x, or master)
|
2016-04-18 23:18:35 -05:00
|
|
|
#
|
|
|
|
|
2017-11-04 17:33:00 -05:00
|
|
|
MFINFO=$(mfinfo "$@") || exit 1
|
2017-07-02 20:43:57 -05:00
|
|
|
IFS=' ' read -a INFO <<< "$MFINFO"
|
|
|
|
TARG=${INFO[3]}
|
2017-11-04 17:33:00 -05:00
|
|
|
CURR=${INFO[5]}
|
2016-04-18 23:18:35 -05:00
|
|
|
|
2019-01-23 23:10:02 -06:00
|
|
|
IND=6
|
|
|
|
while [ $IND -lt ${#INFO[@]} ]; do
|
|
|
|
ARG=${INFO[$IND]}
|
|
|
|
case "$ARG" in
|
|
|
|
-q|--quick ) QUICK=1 ;;
|
|
|
|
-h|--help ) USAGE=1 ;;
|
|
|
|
* ) USAGE=1 ; echo "unknown option: $ARG" ;;
|
|
|
|
esac
|
|
|
|
let IND+=1
|
|
|
|
done
|
|
|
|
|
2020-01-05 01:24:28 -06:00
|
|
|
[[ $USAGE == 1 ]] && { echo "usage: `basename $0` [1|2|3]" 1>&2 ; exit 1 ; }
|
2019-01-23 23:10:02 -06:00
|
|
|
|
2017-05-05 00:46:39 -05:00
|
|
|
# If the branch isn't currently the PR target
|
2017-11-04 17:33:00 -05:00
|
|
|
if [[ $TARG != $CURR ]]; then
|
2019-01-23 23:10:02 -06:00
|
|
|
[[ $QUICK ]] || git fetch upstream
|
2017-07-02 20:43:57 -05:00
|
|
|
git rebase upstream/$TARG && git rebase -i upstream/$TARG
|
2017-05-05 00:46:39 -05:00
|
|
|
fi
|