refactor the whole thing
- now works as sub commands to git if copied to $(git --exec-path)
- now works with arbitrary commands for branch types
- consistent variable names
- new branch type 'support' for long-term support branches of historic
versions
- preliminary base branch support for hotfix branch type to create
hotfixes form support branches
diff --git a/git-flow-support b/git-flow-support
new file mode 100644
index 0000000..a3fc91e
--- /dev/null
+++ b/git-flow-support
@@ -0,0 +1,57 @@
+#
+# gitflow -- A collection of Git wrapper scripts to provide high-level
+# repository operations for Vincent Driessen's branching model:
+#
+# Original blog post presenting this model is found at:
+# http://nvie.com/archives/323
+#
+# Feel free to contribute to this project at:
+# http://github.com/nvie/gitflow
+#
+# Copyright (c) 2010 by Vincent Driessen
+# Copyright (c) 2010 by Benedikt Böhm
+#
+
+usage() {
+ echo "usage: git flow start support <version> [<base>]"
+}
+
+parse_args() {
+ VERSION="$1"
+ BASE="${2:-v${VERSION}}"
+ if [ "$VERSION" = "" ]; then
+ echo "Missing argument <version>."
+ usage
+ exit 1
+ fi
+ BRANCH=support/$VERSION
+}
+
+cmd_help() {
+ usage
+ exit 0
+}
+
+cmd_start() {
+ parse_args "$@"
+
+ # sanity checks
+ gitflow_check_clean_working_tree
+
+ # create branch
+ git checkout -b $BRANCH $BASE
+
+ # publish branch
+ git push origin $BRANCH:refs/heads/$BRANCH
+ git fetch origin
+ git config branch.$BRANCH.remote origin
+ git config branch.$BRANCH.merge refs/heads/$BRANCH
+ git co $BRANCH
+
+ echo
+ echo "Summary of actions:"
+ echo "- A new remote branch '$BRANCH' was created, based on '$BASE'"
+ echo "- A new tracking branch '$BRANCH' was created"
+ echo "- You are now on branch '$BRANCH'"
+ echo
+}