module Bard::Git
Public Instance Methods
Source
# File lib/bard/git.rb, line 5 def current_branch ref = `git symbolic-ref HEAD 2>&1`.chomp return false if ref =~ /^fatal:/ ref.sub(/refs\/heads\//, '') # refs/heads/master ... we want "master" end
Source
# File lib/bard/git.rb, line 11 def fast_forward_merge?(root, branch) root_head = sha_of(root) branch_head = sha_of(branch) common_ancestor = `git merge-base #{root_head} #{branch_head}`.chomp common_ancestor == root_head end
Source
# File lib/bard/git.rb, line 22 def sha_of ref sha = `git rev-parse #{ref} 2>/dev/null`.chomp return sha if $?.success? nil # Branch doesn't exist end
Source
# File lib/bard/git.rb, line 18 def up_to_date_with_remote? branch sha_of(branch) == sha_of("origin/#{branch}") end