aboutsummaryrefslogtreecommitdiff
path: root/buildroot/share/git/mfnew
blob: e491fea191034de6f3c5a5398ec50f386e5219a9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#!/usr/bin/env bash
#
# mfnew
#
# Create a new branch from the default target with the given name
#

usage() {
  echo "usage: `basename $0` [1|2|3] [name]" 1>&2
}

[[ $# < 3 && $1 != "-h" && $1 != "--help" ]] || { usage; exit 1; }

MFINFO=$(mfinfo "$@") || exit 1
IFS=' ' read -a INFO <<< "$MFINFO"
TARG=${INFO[3]}
BRANCH=pr_for_$TARG-$(date +"%G-%m-%d_%H.%M.%S")

# BRANCH can be given as the last argument
case "$#" in
  1 ) case "$1" in
        1|2|3) ;;
        *) BRANCH=$1 ;;
      esac
      ;;
  2 ) case "$1" in
        1|2|3) BRANCH=$2 ;;
        *) usage ; exit 1 ;;
      esac
      ;;
esac

git fetch upstream
git checkout --no-track upstream/$TARG -b $BRANCH