aboutsummaryrefslogtreecommitdiff
path: root/buildroot/share/git/mfrb
diff options
context:
space:
mode:
Diffstat (limited to 'buildroot/share/git/mfrb')
-rw-r--r--buildroot/share/git/mfrb27
1 files changed, 27 insertions, 0 deletions
diff --git a/buildroot/share/git/mfrb b/buildroot/share/git/mfrb
new file mode 100644
index 0000000..071b0b3
--- /dev/null
+++ b/buildroot/share/git/mfrb
@@ -0,0 +1,27 @@
+#!/usr/bin/env bash
+#
+# mfrb
+#
+# Do "git rebase -i" against the "target" branch (bugfix-1.1.x, bugfix-2.0.x, dev-2.1.x, or master)
+#
+
+MFINFO=$(mfinfo "$@") || exit 1
+IFS=' ' read -a INFO <<< "$MFINFO"
+TARG=${INFO[3]}
+CURR=${INFO[5]}
+
+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
+
+[[ $USAGE == 1 ]] && { echo "usage: `basename $0` [1|2|3]" 1>&2 ; exit 1 ; }
+
+[[ $QUICK ]] || git fetch upstream
+git rebase upstream/$TARG && git rebase -i upstream/$TARG