This module is a Hoe plugin. You can set its attributes in your Rakefile Hoe spec, like this:
Hoe.plugin :git Hoe.spec "myproj" do self.git_release_tag_prefix = "REL_" self.git_remotes << "myremote" end
Print the current changelog.
Update the manifest with Git’s file list.
Create and push a tag.
Duh.
What do you want at the front of your release tags?
"v"
Which remotes do you want to push tags, etc. to?
%w(origin)
# File lib/hoe/git.rb, line 166 def changelog_section code name = { :major => "major enhancement", :minor => "minor enhancement", :bug => "bug fix", :unknown => "unknown", }[code] changes = $changes[code] count = changes.size name += "s" if count > 1 name.sub!(%rfixs/, 'fixes') return if count < 1 puts "* #{count} #{name}:" puts changes.sort.each do |line| puts " * #{line}" end puts end
# File lib/hoe/git.rb, line 128 def git_svn? File.exist? ".git/svn" end
# File lib/hoe/git.rb, line 132 def git_tag_and_push tag msg = "Tagging #{tag}." if git_svn? sh "git svn tag #{tag} -m '#{msg}'" else sh "git tag -f #{tag} -m '#{msg}'" git_remotes.each { |remote| sh "git push -f #{remote} tag #{tag}" } end end