Class: Bob::SCM::Git
Instance Attribute Summary
Attributes inherited from Abstract
#branch, #uri
Instance Method Summary
collapse
Methods inherited from Abstract
#directory_for, #with_commit
Constructor Details
#initialize(uri, branch) ⇒ Git
Returns a new instance of Git.
4
5
6
7
8
9
10
|
# File 'lib/bob/scm/git.rb', line 4
def initialize(uri, branch)
super
unless File.directory?(File.join(Bob.directory, "cache"))
FileUtils.mkdir(File.join(Bob.directory, "cache"))
end
end
|
Instance Method Details
19
20
21
|
# File 'lib/bob/scm/git.rb', line 19
def head
`git ls-remote --heads #{uri} #{branch} | cut -f1`.chomp
end
|
#info(commit) ⇒ Object
12
13
14
15
16
17
|
# File 'lib/bob/scm/git.rb', line 12
def info(commit)
format = %Q(---%n:author: %an <%ae>%n:message: >-%n %s%n:committed_at: %ci%n)
YAML.load(`cd #{directory_for(commit)} && git show -s --pretty=format:"#{format}" #{commit}`).tap { |info|
info[:committed_at] = Time.parse(info[:committed_at])
}
end
|