Release

Github release management system.

Description

Tired of altering versions?, committing, tagging, pushing, and pushing tags to Github manually? Never fear, release is here!

Usage

In order to use the ‘re’ command, you should be in the root directory of your project (ie where .git, lib, etc live) because sub-commands execute in context to this directory.

Features

  • Bump version levels [major, minor, (tiny | patch)]

  • Commit with default release message (or alter)

  • Tag and push to github

  • Run rake-tasks before releasing

  • All in a single command!

Examples

View global help

$ re help

View help for the bump sub-command

$ re help bump

Bump patch (tiny), auto-locates version.rb

$ re bump

It is recommended that you do a dry-run to verify that release will work

$ re bump --dry-run

Bump major with custom commit message (VERSION is replaced with release version)

$ re bump major -m 'Release VERSION, check it out!'

Run rake tasks before releasing (defaults to manifest,gemspec)

$ re bump minor -r manifest,gemspec,email

Bump is also the default sub-command, so instead of the previous command you may simply

$ re minor -r manifest,gemspec,email

Specific version file

$ re bump --file bin/re

Edit changelog or history (auto-locates file within the current directory) before releasing. This switch currently grabs the last -n commits from git log and places them in your history file, which then opens for adjustments. Alter -n, –commits to change the number of commits added.

$ re bump major --history

Limitations

  • Currently supports ‘n.n.n’ format only

  • The –history switch has been tested with textmate only

  • Auto-locates version.rb using glob lib/**/version.rb (specify a specific file with –file switch)

License:

(The MIT License)

Copyright © 2009 TJ Holowaychuk <[email protected]>

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the ‘Software’), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, an d/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED ‘AS IS’, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.