mirror of
https://github.com/tj/git-extras.git
synced 2026-09-10 15:36:21 -04:00
This takes any extra arguments supplied to `$git feature` and sets them as the new feature name. For instances, instead of throwing an error if `$git feature new thing` is called, it will create branch `feature/new-thing`.
26 lines
561 B
Bash
Executable file
26 lines
561 B
Bash
Executable file
#!/usr/bin/env bash
|
|
|
|
concatargs(){
|
|
delim='-'
|
|
str=
|
|
for i in "$@"; do
|
|
str="$str$delim$i"
|
|
done
|
|
branch=feature/${str:1}
|
|
}
|
|
|
|
if test "$1" = "finish"; then
|
|
test -z $2 && echo "feature <name> required." 1>&2 && exit 1
|
|
branch=feature/$2
|
|
git merge --no-ff $branch && git delete-branch $branch
|
|
else
|
|
test -z $1 && echo "feature <name> required." 1>&2 && exit 1
|
|
if test -n "$2"; then
|
|
concatargs ${@:2}
|
|
else
|
|
branch=feature/$1
|
|
fi
|
|
git checkout -b $branch &> /dev/null
|
|
test -n $? && git checkout $branch &> /dev/null
|
|
fi
|