Sha256: e23d34d7ea3892dec0e9fe12848c2f42148f0f8dd391424173a6814fb4f9e021
Contents?: true
Size: 1.51 KB
Versions: 1
Compression:
Stored size: 1.51 KB
Contents
module Gitmine class Gitmine def self.list gm = Gitmine.new gm.commits.each do |commit| status = commit.issue ? commit.issue.status : 'N/A' puts "#{commit.id[0..6]} #{status.ljust(12)} #{commit.committer.name.ljust(15)} #{commit.message[0..50].gsub("\n", '')}" end end def initialize @repo = Grit::Repo.new(ENV['PWD']) @branch = File.read('./.git/HEAD').match(/^ref: refs\/heads\/(.+)/)[1] end def commits @repo.commits(@branch).map do |c| Commit.new(c) end end def self.branch(branch_name) issue_id = branch_name[/^\d+/] original_branch = File.read('./.git/HEAD').match(/^ref: refs\/heads\/(.+)/)[1] config = Issue.config raise "Invalid branch name. It should start with the issue number" unless issue_id puts "Creating the remote branch #{branch_name}" run_cmd("git push origin origin:refs/heads/#{branch_name}") run_cmd("git checkout --track -b #{branch_name} origin/#{branch_name}") puts "Adding a note to the Issue ##{issue_id}" note = "Branch *#{branch_name}* created from #{original_branch}" if config['github'] note << %{ - "See on Github":https://github.com/#{config['github']}/tree/#{branch_name}} note << %{ - "Compare on Github":https://github.com/#{config['github']}/compare/#{original_branch}...#{branch_name}} end Issue.find(issue_id).add_note(note) end def self.run_cmd(cmd) puts cmd system cmd end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
gitmine-0.1.4.pre | lib/gitmine/gitmine.rb |