You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
32 lines
667 B
32 lines
667 B
#!/usr/bin/env bash |
|
# |
|
# mfnew |
|
# |
|
# Create a new branch from the default target with the given name |
|
# |
|
|
|
usage() { echo "usage: `basename $0` [1|2] [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) ;; |
|
*) BRANCH=$1 ;; |
|
esac |
|
;; |
|
2 ) case "$1" in |
|
1|2) BRANCH=$2 ;; |
|
*) usage ; exit 1 ;; |
|
esac |
|
;; |
|
esac |
|
|
|
git fetch upstream |
|
git checkout --no-track upstream/$TARG -b $BRANCH
|
|
|