Skip to content
Snippets Groups Projects
Commit 6cdc6b14 authored by Martin Afanasjew's avatar Martin Afanasjew
Browse files

Add GitRepositoryExtension

Add an extension for accessing Git-related meta data that can be mixed
in into a Pathname object (e.g. `HOMBREW_REPOSITORY` or the path of a
`Tap` instance). The goal here is to eliminate code duplication.
parent ec75ca7e
No related branches found
No related tags found
No related merge requests found
require "utils/git"
require "utils/popen"
module GitRepositoryExtension
def git?
join(".git").exist?
end
def git_origin
return unless git? && Utils.git_available?
cd do
Utils.popen_read("git", "config", "--get", "remote.origin.url").chuzzle
end
end
def git_head
return unless git? && Utils.git_available?
cd do
Utils.popen_read("git", "rev-parse", "--verify", "-q", "HEAD").chuzzle
end
end
def git_short_head
return unless git? && Utils.git_available?
cd do
Utils.popen_read(
"git", "rev-parse", "--short=4", "--verify", "-q", "HEAD"
).chuzzle
end
end
def git_last_commit
return unless git? && Utils.git_available?
cd do
Utils.popen_read("git", "show", "-s", "--format=%cr", "HEAD").chuzzle
end
end
def git_last_commit_date
return unless git? && Utils.git_available?
cd do
Utils.popen_read(
"git", "show", "-s", "--format=%cd", "--date=short", "HEAD"
).chuzzle
end
end
end
require "extend/module"
require "extend/fileutils"
require "extend/pathname"
require "extend/git_repository"
require "extend/ARGV"
require "extend/string"
require "extend/enumerable"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment