aboutsummaryrefslogtreecommitdiffstats
path: root/Library
diff options
context:
space:
mode:
Diffstat (limited to 'Library')
-rw-r--r--Library/Homebrew/extend/git_repository.rb47
-rw-r--r--Library/Homebrew/global.rb1
2 files changed, 48 insertions, 0 deletions
diff --git a/Library/Homebrew/extend/git_repository.rb b/Library/Homebrew/extend/git_repository.rb
new file mode 100644
index 000000000..c15988550
--- /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 02ff15e39..ab6bd9d5c 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"