class Raykit::Git
def self.add_remote
def self.add_remote remote = get_remote if(remote.length > 0) #if(Dir.exist?('.git')) #cmd = Command.new #cmd.command = 'git config --get remote.origin.url' #cmd.run #remote = cmd.output.strip remote_urls_copy = remote_urls if(!remote_urls_copy.include?(remote)) remote_urls_copy.insert(0,remote) Git::remote_urls = remote_urls_copy end end end
def self.branch
def self.branch branches = `git branch` branches.match(/ ([\w.]+)/).captures[0] end
def self.get_remote
def self.get_remote if(Dir.exist?('.git')) cmd = Command.new cmd.command = 'git config --get remote.origin.url' cmd.run return cmd.output.strip else `` end end
def self.last_tag
def self.last_tag `git describe --abbrev=0 --tags`.strip end
def self.list_remotes
def self.list_remotes remote_urls.each{|url| puts url} end
def self.outstanding_commit
def self.outstanding_commit if(Git::user_can_commit) return !`git status`.include?('nothing to commit,') else return false end end
def self.remote_urls
def self.remote_urls filename="#{Environment::log_dir}/Raykit.Git.RemoteUrls.json"; if(File.exist?(filename)) JSON.parse(File.read(filename)) else Array.new end end
def self.remote_urls=(urls)
def self.remote_urls=(urls) filename="#{Environment::log_dir}/Raykit.Git.RemoteUrls.json" File.open(filename,'w'){|f| f.write(JSON.generate(urls)) } end
def self.user_can_commit
def self.user_can_commit return false if(user_name.length == 0) return false if(user_email.length == 0) return true end
def self.user_email
def self.user_email return `git config --get user.email`.strip end
def self.user_name
def self.user_name return `git config --get user.name`.strip end