Add checks for all the commands, to assure we're working in a clean and safe environment, before actually modifying stuff in the repo.
diff --git a/gitflow-feature b/gitflow-feature
index 6551b99..adad481 100755
--- a/gitflow-feature
+++ b/gitflow-feature
@@ -32,17 +32,32 @@
}
start() {
- # TODO
parse_args "$@"
+
+ # Checks
gitflow_check_clean_working_tree
+ gitflow_require_branch_absent "$FEATURE"
+ if [ "$BASE" = "develop" ]; then
+ gitflow_require_branches_equal 'develop' 'origin/develop'
+ fi
+
+ # All checks passed, ready to roll
echo "git checkout -b $FEATURE $BASE"
}
finish() {
- # TODO
parse_args "$@"
+
+ # Checks
gitflow_check_clean_working_tree
+ gitflow_require_branch "$FEATURE"
+ if [ "$BASE" = "develop" ]; then
+ gitflow_require_branches_equal 'develop' 'origin/develop'
+ fi
+
+ # All checks passed, ready to roll
echo "git checkout $BASE"
echo "git merge --no-ff $FEATURE"
+ echo "git branch -d $FEATURE"
}
diff --git a/gitflow-hotfix b/gitflow-hotfix
index 6e339a7..7ee8459 100755
--- a/gitflow-hotfix
+++ b/gitflow-hotfix
@@ -24,25 +24,39 @@
usage
exit 1
fi
+ HOTFIX_BRANCH="hotfix-$RELEASE"
}
start() {
- # TODO
parse_args "$@"
+
+ # Checks
gitflow_check_clean_working_tree
- echo "git checkout -b hotfix-$RELEASE master"
- echo "Bump version number"
- echo "Fix bug"
+ gitflow_require_branches_equal 'master' 'origin/master'
+ gitflow_require_branch_absent "$HOTFIX_BRANCH"
+
+ # All checks passed, ready to roll
+ echo "git checkout -b \"$HOTFIX_BRANCH\" master"
+ echo "Don't forget to bump the version number now."
}
finish() {
- # TODO
parse_args "$@"
+
+ # Checks
gitflow_check_clean_working_tree
+
+ echo "git fetch origin"
+ git fetch origin
+ gitflow_require_branches_equal 'master' 'origin/master'
+ gitflow_require_branches_equal 'develop' 'origin/develop'
+
+ # All checks passed, ready to roll
echo "git checkout master"
- echo "git merge --no-ff hotfix-$RELEASE"
+ echo "git merge --no-ff \"$HOTFIX_BRANCH\""
+ echo "git tag \"$RELEASE\""
echo "git checkout develop"
- echo "git merge --no-ff hotfix-$RELEASE"
- echo "git branch -d hotfix-$RELEASE"
+ echo "git merge --no-ff \"$HOTFIX_BRANCH\""
+ echo "git branch -d \"$HOTFIX_BRANCH\""
}
diff --git a/gitflow-release b/gitflow-release
index b8e4810..8790405 100755
--- a/gitflow-release
+++ b/gitflow-release
@@ -24,26 +24,39 @@
usage
exit 1
fi
+ RELEASE_BRANCH="release-$RELEASE"
}
start() {
- # TODO
parse_args "$@"
+
+ # Checks
gitflow_check_clean_working_tree
- echo "git checkout -b release-$RELEASE develop"
- echo "Bump version number"
- echo "Fix bug"
+ gitflow_require_branches_equal 'develop' 'origin/develop'
+ gitflow_require_branch_absent "$RELEASE_BRANCH"
+
+ # All checks passed, ready to roll
+ echo "git checkout -b \"$RELEASE_BRANCH\" develop"
+ echo "Don't forget to bump the version number now."
}
finish() {
- # TODO
parse_args "$@"
+
+ # Checks
gitflow_check_clean_working_tree
+
+ echo "git fetch origin"
+ git fetch origin
+ gitflow_require_branches_equal 'master' 'origin/master'
+ gitflow_require_branches_equal 'develop' 'origin/develop'
+
+ # All checks passed, ready to roll
echo "git checkout master"
- echo "git merge --no-ff release-$RELEASE"
- echo "git tag $RELEASE"
+ echo "git merge --no-ff \"$RELEASE_BRANCH\""
+ echo "git tag \"$RELEASE\""
echo "git checkout develop"
- echo "git merge --no-ff release-$RELEASE"
- echo "git branch -d release-$RELEASE"
+ echo "git merge --no-ff \"$RELEASE_BRANCH\""
+ echo "git branch -d \"$RELEASE_BRANCH\""
}