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.
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 163 def changelog_section code name = +{ :major => "major enhancement", :minor => "minor enhancement", :bug => "bug fix", :unknown => "unknown", }[code] changes = git_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
Generate and print a changelog section based on the code.
Source
# File lib/hoe/git.rb, line 133 def git_tag_and_push tag msg = "Tagging #{tag}." flags = " -s" unless `git config --get user.signingkey`.empty? sh %Q(git tag#{flags} -f #{tag} -m "#{msg}") git_remotes.each { |remote| sh "git push -f #{remote} tag #{tag}" } end
Generate a tag and push it to all remotes.