class GitHubTool
Copyright (C) 2013 Cornelius Schumacher <schumacher@kde.org>
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
Public Class Methods
accept(repo)
click to toggle source
# File lib/git_hub_tool.rb, line 39 def self.accept repo check_directory user,branch = parse_repo repo branchname = "#{user}-#{branch}" if `git status` !~ /On branch #{branchname}/ STDERR.puts "You need to be on the #{branchname} branch" exit 1 end run "git checkout master" run "git merge #{branchname}" run "git push origin master" run "git branch -d #{branchname}" end
check_directory()
click to toggle source
# File lib/git_hub_tool.rb, line 57 def self.check_directory current_dir = File.basename Dir.pwd if current_dir != "inqlude-data" STDERR.puts "inqlude review needs to be run in the inqlude-data directory" exit 1 end if !File.exists? ".git" STDERR.puts "inqlude-data directory needs to be a git checkout" exit 1 end end
parse_repo(repo)
click to toggle source
# File lib/git_hub_tool.rb, line 69 def self.parse_repo repo user = repo.split(":")[0] branch = repo.split(":")[1] if !user STDERR.puts "Unable to extract user from repo parameter" exit 1 end if !branch STDERR.puts "Unable to extract branch from repo parameter" exit 1 end return user,branch end
review(repo)
click to toggle source
# File lib/git_hub_tool.rb, line 19 def self.review repo puts "Reviewing repo '#{repo}'" check_directory if `git status` !~ /On branch master/ STDERR.puts "You need to be on the master branch" exit 1 end user,branch = parse_repo repo run "git checkout -b #{user}-#{branch} master" begin run "git pull git@github.com:#{user}/inqlude-data.git #{branch}" rescue run "git checkout master" run "git branch -d #{user}-#{branch}" end end
run(cmd)
click to toggle source
# File lib/git_hub_tool.rb, line 85 def self.run cmd puts "Running: #{cmd}" if !system cmd raise "Command failed" end end