Commit 17a8112b authored by Vincent Driessen's avatar Vincent Driessen

Merge branch 'feature/no-connectivity-for-feature-branches' into develop

parents 57e7bde9 2acfffd9
......@@ -13,6 +13,7 @@
#
PREFIX=$(git config --get gitflow.prefix.feature || echo feature/)
FLAG_FETCH=0
usage() {
echo "usage: git flow feature [list]"
......@@ -55,6 +56,10 @@ cmd_help() {
}
parse_args() {
# TODO: When we have a nice structured way of parsing flags with getopt,
# implement the following flags:
# --fetch, to set FLAG_FETCH=1
# --no-fetch, to set FLAG_FETCH=0
NAME="$1"
BASE="${2:-$DEVELOP_BRANCH}"
if [ "$NAME" = "" ]; then
......@@ -71,11 +76,14 @@ cmd_start() {
# sanity checks
gitflow_require_clean_working_tree
gitflow_require_branch_absent $BRANCH
if [ "$BASE" = "$DEVELOP_BRANCH" ]; then
# update the local repo with remote changes, if asked
if [ $FLAG_FETCH -eq 1 ]; then
git fetch -q $ORIGIN $DEVELOP_BRANCH
gitflow_require_branches_equal $DEVELOP_BRANCH $ORIGIN/$DEVELOP_BRANCH
fi
gitflow_require_branches_equal $DEVELOP_BRANCH $ORIGIN/$DEVELOP_BRANCH
# create branch
git checkout -b $BRANCH $BASE
......@@ -96,7 +104,12 @@ cmd_finish() {
# sanity checks
gitflow_require_clean_working_tree
gitflow_require_branch $BRANCH
git fetch -q $ORIGIN
# update local repo with remote changes first, if asked
if [ $FLAG_FETCH -eq 1 ]; then
git fetch -q $ORIGIN $BRANCH
fi
if has $ORIGIN/$BRANCH $REMOTE_BRANCHES; then
gitflow_require_branches_equal $BRANCH $ORIGIN/$BRANCH
fi
......
......@@ -14,6 +14,7 @@
VERSION_PREFIX=$(git config --get gitflow.prefix.versiontag)
PREFIX=$(git config --get gitflow.prefix.hotfix || echo hotfix/)
FLAG_FETCH=1
usage() {
echo "usage: git flow hotfix [list]"
......@@ -50,6 +51,10 @@ cmd_help() {
}
parse_args() {
# TODO: When we have a nice structured way of parsing flags with getopt,
# implement the following flags:
# --fetch, to set FLAG_FETCH=1
# --no-fetch, to set FLAG_FETCH=0
VERSION="$1"
BASE="${2:-$MASTER_BRANCH}"
if [ "$VERSION" = "" ]; then
......@@ -65,7 +70,9 @@ cmd_start() {
# sanity checks
gitflow_require_clean_working_tree
git fetch -q $ORIGIN
if [ $FLAG_FETCH -eq 1 ]; then
git fetch -q $ORIGIN $MASTER_BRANCH
fi
gitflow_require_branches_equal $MASTER_BRANCH $ORIGIN/$MASTER_BRANCH
gitflow_require_branch_absent $BRANCH
......@@ -91,8 +98,10 @@ cmd_finish() {
# sanity checks
gitflow_require_clean_working_tree
git fetch -q $ORIGIN $MASTER_BRANCH
git fetch -q $ORIGIN $DEVELOP_BRANCH
if [ $FLAG_FETCH -eq 1 ]; then
git fetch -q $ORIGIN $MASTER_BRANCH
git fetch -q $ORIGIN $DEVELOP_BRANCH
fi
gitflow_require_branches_equal $MASTER_BRANCH $ORIGIN/$MASTER_BRANCH
gitflow_require_branches_equal $DEVELOP_BRANCH $ORIGIN/$DEVELOP_BRANCH
......
......@@ -14,6 +14,7 @@
VERSION_PREFIX=$(git config --get gitflow.prefix.versiontag)
PREFIX=$(git config --get gitflow.prefix.release || echo release/)
FLAG_FETCH=1
usage() {
echo "usage: git flow release [list]"
......@@ -51,6 +52,10 @@ cmd_help() {
}
parse_args() {
# TODO: When we have a nice structured way of parsing flags with getopt,
# implement the following flags:
# --fetch, to set FLAG_FETCH=1
# --no-fetch, to set FLAG_FETCH=0
VERSION="$1"
if [ "$VERSION" = "" ]; then
echo "Missing argument <version>."
......@@ -65,7 +70,9 @@ cmd_start() {
# sanity checks
gitflow_require_clean_working_tree
git fetch -q $ORIGIN
if [ $FLAG_FETCH -eq 1 ]; then
git fetch -q $ORIGIN $DEVELOP_BRANCH
fi
gitflow_require_branches_equal $DEVELOP_BRANCH $ORIGIN/$DEVELOP_BRANCH
gitflow_require_branch_absent $BRANCH
......@@ -91,7 +98,10 @@ cmd_finish() {
# sanity checks
gitflow_require_clean_working_tree
git fetch -q $ORIGIN
if [ $FLAG_FETCH -eq 1 ]; then
git fetch -q $ORIGIN $MASTER_BRANCH
git fetch -q $ORIGIN $DEVELOP_BRANCH
fi
gitflow_require_branches_equal $MASTER_BRANCH $ORIGIN/$MASTER_BRANCH
gitflow_require_branches_equal $DEVELOP_BRANCH $ORIGIN/$DEVELOP_BRANCH
......
......@@ -14,6 +14,7 @@
VERSION_PREFIX=$(git config --get gitflow.prefix.versiontag)
PREFIX=$(git config --get gitflow.prefix.support || echo support/)
FLAG_FETCH=1
usage() {
echo "usage: git flow support [list]"
......@@ -39,6 +40,10 @@ cmd_help() {
}
parse_args() {
# TODO: When we have a nice structured way of parsing flags with getopt,
# implement the following flags:
# --fetch, to set FLAG_FETCH=1
# --no-fetch, to set FLAG_FETCH=0
VERSION="$1"
BASE="${2:-${VERSION_PREFIX}${VERSION}}"
if [ "$VERSION" = "" ]; then
......@@ -55,12 +60,18 @@ cmd_start() {
# sanity checks
gitflow_require_clean_working_tree
# fetch remote changes
if [ $FLAG_FETCH -eq 1 ]; then
git fetch -q $ORIGIN $BASE
fi
gitflow_require_branches_equal $BRANCH $ORIGIN/$BRANCH
# create branch
git checkout -b $BRANCH $BASE
# publish branch
git push $ORIGIN $BRANCH:refs/heads/$BRANCH
git fetch -q $ORIGIN
git config branch.$BRANCH.remote $ORIGIN
git config branch.$BRANCH.merge refs/heads/$BRANCH
git checkout $BRANCH
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment