Module: Bard::CLI::Git

Defined in:
lib/bard/git.rb

Class Method Summary collapse

Class Method Details

.current_branchObject



4
5
6
7
8
# File 'lib/bard/git.rb', line 4

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

.current_shaObject



10
11
12
# File 'lib/bard/git.rb', line 10

def current_sha
  `git rev-parse HEAD`.chomp
end

.fast_forward_merge?(root, branch) ⇒ Boolean

Returns:

  • (Boolean)


14
15
16
17
18
19
# File 'lib/bard/git.rb', line 14

def fast_forward_merge?(root, branch)
  root_head = `git rev-parse #{root}`.chomp
  branch_head = `git rev-parse #{branch}`.chomp
  common_ancestor = `git merge-base #{root_head} #{branch_head}`.chomp
  common_ancestor == root_head
end