| #!/bin/sh | 
 | # | 
 | # git-flow -- A collection of Git extensions to provide high-level | 
 | # repository operations for Vincent Driessen's branching model. | 
 | # | 
 | # Original blog post presenting this model is found at: | 
 | #    http://nvie.com/git-model | 
 | # | 
 | # Feel free to contribute to this project at: | 
 | #    http://github.com/nvie/gitflow | 
 | # | 
 | # Copyright 2010 Vincent Driessen. All rights reserved. | 
 | #  | 
 | # Redistribution and use in source and binary forms, with or without | 
 | # modification, are permitted provided that the following conditions are met: | 
 | #  | 
 | #    1. Redistributions of source code must retain the above copyright notice, | 
 | #       this list of conditions and the following disclaimer. | 
 | #  | 
 | #    2. Redistributions in binary form must reproduce the above copyright | 
 | #       notice, this list of conditions and the following disclaimer in the | 
 | #       documentation and/or other materials provided with the distribution. | 
 | #  | 
 | # THIS SOFTWARE IS PROVIDED BY VINCENT DRIESSEN ``AS IS'' AND ANY EXPRESS OR | 
 | # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF | 
 | # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO | 
 | # EVENT SHALL VINCENT DRIESSEN OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, | 
 | # INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, | 
 | # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | 
 | # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY | 
 | # OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING | 
 | # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, | 
 | # EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 
 | #  | 
 | # The views and conclusions contained in the software and documentation are | 
 | # those of the authors and should not be interpreted as representing official | 
 | # policies, either expressed or implied, of Vincent Driessen. | 
 | # | 
 |  | 
 | # enable debug mode | 
 | if [ "$DEBUG" = "yes" ]; then | 
 | 	set -x | 
 | fi | 
 |  | 
 | export GITFLOW_DIR=$(dirname "$0") | 
 |  | 
 | usage() { | 
 | 	echo "usage: git flow <subcommand>" | 
 | 	echo | 
 | 	echo "Available subcommands are:" | 
 | 	echo "   init      Initialize a new git repo with support for the branching model." | 
 | 	echo "   feature   Manage your feature branches." | 
 | 	echo "   release   Manage your release branches." | 
 | 	echo "   hotfix    Manage your hotfix branches." | 
 | 	echo "   support   Manage your support branches." | 
 | 	echo "   version   Shows version information." | 
 | 	echo | 
 | 	echo "Try 'git flow <subcommand> help' for details." | 
 | } | 
 |  | 
 | main() { | 
 | 	if [ $# -lt 1 ]; then | 
 | 		usage | 
 | 		exit 1 | 
 | 	fi | 
 |  | 
 | 	# load common functionality | 
 | 	. "$GITFLOW_DIR/gitflow-common" | 
 |  | 
 | 	# use the shFlags project to parse the command line arguments | 
 | 	. "$GITFLOW_DIR/gitflow-shFlags" | 
 | 	FLAGS_PARENT="git flow" | 
 | 	FLAGS "$@" || exit $? | 
 | 	eval set -- "${FLAGS_ARGV}" | 
 |  | 
 | 	# sanity checks | 
 | 	SUBCOMMAND="$1"; shift | 
 |  | 
 | 	if [ ! -e "$GITFLOW_DIR/git-flow-$SUBCOMMAND" ]; then | 
 | 		usage | 
 | 		exit 1 | 
 | 	fi | 
 |  | 
 | 	# run command | 
 | 	. "$GITFLOW_DIR/git-flow-$SUBCOMMAND" | 
 | 	FLAGS_PARENT="git flow $SUBCOMMAND" | 
 |  | 
 | 	# test if the first argument is a flag (i.e. starts with '-') | 
 | 	# in that case, we interpret this arg as a flag for the default | 
 | 	# command | 
 | 	SUBACTION="default" | 
 | 	if [ "$1" != "" ] && ! echo "$1" | grep -q "^-"; then | 
 | 		SUBACTION="$1"; shift | 
 | 	fi | 
 | 	if ! type "cmd_$SUBACTION" >/dev/null 2>&1; then | 
 | 		warn "Unknown subcommand: '$SUBACTION'" | 
 | 		usage | 
 | 		exit 1 | 
 | 	fi | 
 |  | 
 | 	# run the specified action | 
 | 	cmd_$SUBACTION "$@" | 
 | } | 
 |  | 
 | main "$@" |