Permalink
Browse files

Merge branch 'release/0.3'

  • Loading branch information...
2 parents f8ea3eb + 7c4cc65 commit 298514b63417725ca5bb639dafe434d69c7ac4b8 @nvie nvie committed Jul 22, 2010
Showing with 627 additions and 86 deletions.
  1. +11 −0 AUTHORS
  2. +50 −0 Changes.mdown
  3. +26 −0 LICENSE
  4. +28 −0 Makefile
  5. +35 −6 README.mdown
  6. +78 −0 contrib/gitflow-installer.sh
  7. +27 −10 git-flow
  8. +146 −25 git-flow-feature
  9. +43 −8 git-flow-hotfix
  10. +50 −17 git-flow-init
  11. +43 −8 git-flow-release
  12. +33 −4 git-flow-support
  13. +29 −4 git-flow-version
  14. +28 −4 gitflow-common
View
11 AUTHORS
@@ -0,0 +1,11 @@
+Authors are (ordered by first commit date):
+
+- Vincent Driessen
+- Benedikt Böhm
+- Daniel Truemper
+- Jason L. Shiffer
+- Randy Merrill
+- Rick Osborne
+- Mark Derricutt
+
+Portions derived from other open source works are clearly marked.
View
@@ -0,0 +1,50 @@
+0.3:
+----
+Release date: **2010/07/22**
+
+* New subcommands for `git flow feature`:
+ - **checkout**:
+ For easily checking out features by their short name. Even allows
+ unique prefixes as arguments (see below).
+
+ - **pull**:
+ This subcommand allows you to painlessly work on a feature branch
+ together with another peer. This is especially valuable for doing
+ peer reviews of other people's code. For more detailed info, see the
+ [commit log][1].
+
+* Easier addressing of branch names by using name prefixes.
+ For example, when using:
+
+ git flow feature finish fo
+
+ this automatically finishes the feature branch `foobar` if that's the only
+ feature branch name starting with `fo`.
+
+* No force flag anymore for new feature branches
+ `git flow feature start` lost its `-f` (force) flag. You now don't
+ have to be in a clean repo anymore to start a new feature branch. This
+ avoids the manual `git stash`, `git flow feature start`, `git stash
+ pop` cycle.
+
+* You can use `git-flow` in stand-alone repo's now.
+ This means it does not assume you have an `origin` repository.
+ (Thanks [Mark][2].)
+
+* No commands fetch from `origin` by default anymore.
+ There were some issues related to disabling this flag on some platforms.
+
+* Init guesses branch names you may want to use for `develop` and `master`.
+
+* Added super-easy installation script. (Thanks [Rick][3].)
+
+* Added BSD license.
+
+[1]: http://github.com/nvie/gitflow/commit/f68d405cc3a11e9df3671f567658a6ab6ed8e0a1
+[2]: http://github.com/talios
+[3]: http://github.com/rickosborne
+
+
+Older versions
+--------------
+No change history is recorded for pre-0.3 releases.
View
26 LICENSE
@@ -0,0 +1,26 @@
+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.
View
@@ -1,3 +1,31 @@
+#
+# 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.
+#
prefix=/usr/local
# files that need mode 755
View
@@ -5,13 +5,14 @@ for Vincent Driessen's [branching model](http://nvie.com/git-model "original
blog post").
-> **IMPORTANT NOTE:**
-> In release 0.2, the order of the arguments has changed to provide a logical
-> subcommand hierarchy.
-
-
Installing git-flow
-------------------
+The easiest way to install git-flow is using Rick Osborne's excellent
+git-flow installer, which can be run using the following command:
+
+ $ wget -q -O - http://github.com/nvie/gitflow/raw/develop/contrib/gitflow-installer.sh | sudo sh
+
+If you prefer a manual installation, please use the following instructions.
After downloading the sources from Github, also fetch the submodules:
$ git submodule init
@@ -30,14 +31,42 @@ Or simply point your `PATH` environment variable to your git-flow checkout
directory.
+Integration with your shell
+---------------------------
+For those who use the [Bash](http://www.gnu.org/software/bash/) shell, please
+check out the excellent work on the
+[git-flow-completion](http://github.com/bobthecow/git-flow-completion) project
+by [bobthecow](http://github.com/bobthecow). It offers tab-completion for all
+git-flow subcommands and branch names.
+
+If you are a [zsh](http://www.zsh.org) user with some plugin-writing
+experience, please help us develop a
+[completion plugin](http://github.com/bobthecow/git-flow-completion/issues#issue/1)
+for zsh, too. Please contact me on [Github](http://github.com/inbox/new/nvie)
+or [Twitter](http://twitter.com/nvie) to discuss details.
+
+
Please help out
---------------
This project is still under development. Feedback and suggestions are very
welcome and I encourage you to use the [Issues
list](http://github.com/nvie/gitflow/issues) on Github to provide that
feedback.
-Feel free to fork this repo and to commit your additions.
+Feel free to fork this repo and to commit your additions. For a list of all
+contributors, please see the [AUTHORS](AUTHORS) file.
+
+Any questions, tips, or general discussion can be posted to our Google group:
+http://groups.google.com/group/gitflow-users
+
+
+License terms
+-------------
+git-flow is published under the liberal terms of the BSD License, see the
+[LICENSE](LICENSE) file. Although the BSD License does not require you to share
+any modifications you make to the source code, you are very much encouraged and
+invited to contribute back your modifications to the community, preferably
+in a Github fork, of course.
Typical usage:
@@ -0,0 +1,78 @@
+#!/bin/sh
+
+# git-flow make-less installer for *nix systems, by Rick Osborne
+# Based on the git-flow core Makefile:
+# http://github.com/nvie/gitflow/blob/master/Makefile
+
+# Licensed under the same restrictions as git-flow:
+# http://github.com/nvie/gitflow/blob/develop/LICENSE
+
+# Does this need to be smarter for each host OS?
+if [ -z "$INSTALL_PREFIX" ] ; then
+ INSTALL_PREFIX="/usr/local/bin"
+fi
+
+if [ -z "$REPO_NAME" ] ; then
+ REPO_NAME="gitflow"
+fi
+
+if [ -z "$REPO_HOME" ] ; then
+ REPO_HOME="http://github.com/nvie/gitflow.git"
+fi
+
+EXEC_FILES="git-flow"
+SCRIPT_FILES="git-flow-init git-flow-feature git-flow-hotfix git-flow-release git-flow-support git-flow-version gitflow-common gitflow-shFlags"
+SUBMODULE_FILE="gitflow-shFlags"
+
+echo "### gitflow no-make installer ###"
+
+case "$1" in
+ uninstall)
+ echo "Uninstalling git-flow from $INSTALL_PREFIX"
+ if [ -d "$INSTALL_PREFIX" ] ; then
+ for script_file in $SCRIPT_FILES $EXEC_FILES ; do
+ echo "rm -vf $INSTALL_PREFIX/$script_file"
+ rm -vf "$INSTALL_PREFIX/$script_file"
+ done
+ else
+ echo "The '$INSTALL_PREFIX' directory was not found."
+ echo "Do you need to set INSTALL_PREFIX ?"
+ fi
+ exit
+ ;;
+ help)
+ echo "Usage: [environment] gitflow-installer.sh [install|uninstall]"
+ echo "Environment:"
+ echo " INSTALL_PREFIX=$INSTALL_PREFIX"
+ echo " REPO_HOME=$REPO_HOME"
+ echo " REPO_NAME=$REPO_NAME"
+ exit
+ ;;
+ *)
+ echo "Installing git-flow to $INSTALL_PREFIX"
+ if [[ -d "$REPO_NAME" && -d "$REPO_NAME/.git" ]] ; then
+ echo "Using existing repo: $REPO_NAME"
+ else
+ echo "Cloning repo from GitHub to $REPO_NAME"
+ git clone "$REPO_HOME" "$REPO_NAME"
+ fi
+ if [ -f "$REPO_NAME/$SUBMODULE_FILE" ] ; then
+ echo "Submodules look up to date"
+ else
+ echo "Updating submodules"
+ lastcwd=$PWD
+ cd "$REPO_NAME"
+ git submodule init
+ git submodule update
+ cd "$lastcwd"
+ fi
+ install -v -d -m 0755 "$INSTALL_PREFIX"
+ for exec_file in $EXEC_FILES ; do
+ install -v -m 0755 "$REPO_NAME/$exec_file" "$INSTALL_PREFIX"
+ done
+ for script_file in $SCRIPT_FILES ; do
+ install -v -m 0644 "$REPO_NAME/$script_file" "$INSTALL_PREFIX"
+ done
+ exit
+ ;;
+esac
View
@@ -4,13 +4,37 @@
# repository operations for Vincent Driessen's branching model.
#
# Original blog post presenting this model is found at:
-# http://nvie.com/archives/323
+# http://nvie.com/git-model
#
# 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
+# 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
@@ -78,11 +102,4 @@ main() {
cmd_$SUBACTION "$@"
}
-# helper functions for common reuse
-max() { if [ "$1" -gt "$2" ]; then echo "$1"; else echo "$2"; fi; }
-
-# convenience functions for checking whether flags have been set or not
-flag() { eval FLAG=\$FLAGS_$1; [ $FLAG -eq $FLAGS_TRUE ]; }
-noflag() { eval FLAG=\$FLAGS_$1; [ $FLAG -ne $FLAGS_TRUE ]; }
-
main "$@"
Oops, something went wrong.

0 comments on commit 298514b

Please sign in to comment.