module Hoe::Git
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
Tasks¶ ↑
- git:changelog
-
Print the current changelog.
- git:manifest
-
Update the manifest with Git’s file list.
- git:tag
-
Create and push a tag.
Constants
- VERSION
-
Duh.
Attributes
What do you want at the front of your release tags?
- default:
"v"
Which remotes do you want to push tags, etc. to?
- default:
%w(origin)
Public Instance Methods
Source
# File lib/hoe/git.rb, line 168 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!(/fixs/, 'fixes') return if count < 1 puts "* #{count} #{name}:" puts changes.sort.each do |line| puts " * #{line}" end puts end
Source
# 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 flags = ' -s' unless `git config --get user.signingkey`.empty? sh "git tag#{flags} -f #{tag} -m '#{msg}'" git_remotes.each { |remote| sh "git push -f #{remote} tag #{tag}" } end end