Last active
May 25, 2016 15:27
-
-
Save dpmcnevin/a6c331fd44a075420da7c80b292a04d0 to your computer and use it in GitHub Desktop.
Revisions
-
dpmcnevin created this gist
May 25, 2016 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,50 @@ #!/usr/bin/env ruby require 'git' require 'logger' g = Git.open(Dir.pwd) if ARGV.include?("-h") || ARGV.include?("--help") puts <<-EOF USAGE: git bump [options] -h Print out help -v Verbose output --major Bump major version --minor Bump minor version --dry Don't create a new tag, just show what it would be EOF exit(0) end verbose = ARGV.include?("-v") || ARGV.include?("--verbose") separator = ARGV.include?("--google") || ARGV.include?("-g") || g.config("core.gaeversion").eql?("true") ? "-" : "." current_version = `git describe`.strip @major, @minor, @patch = current_version.split(/[\.-]/) @major ||= 0; @minor ||= 0; @patch ||= 0 if ARGV.include?("--major"); @major = @major.to_i.next; @minor = 0; @patch = 0 elsif ARGV.include?("--minor") @minor = @minor.to_i.next; @patch = 0 else @patch = @patch.to_i.next end new_version = [@major, @minor, @patch].join(separator) puts "CURRENT VERSION: #{current_version}" if verbose puts "NEW VERSION: #{new_version}" unless ARGV.include?("--dry") _command = "git tag -m '#{new_version}' #{new_version}" puts "--> #{_command}" if verbose system(_command) _command = "git push --tags" puts "--> #{_command}" if verbose system(_command) end