diff --git a/Library/Homebrew/extend/git_repository.rb b/Library/Homebrew/extend/git_repository.rb new file mode 100644 index 0000000000..c15988550f --- /dev/null +++ b/Library/Homebrew/extend/git_repository.rb @@ -0,0 +1,47 @@ +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 diff --git a/Library/Homebrew/global.rb b/Library/Homebrew/global.rb index 02ff15e39f..ab6bd9d5cf 100644 --- a/Library/Homebrew/global.rb +++ b/Library/Homebrew/global.rb @@ -1,6 +1,7 @@ require "extend/module" require "extend/fileutils" require "extend/pathname" +require "extend/git_repository" require "extend/ARGV" require "extend/string" require "extend/enumerable"