diff options
Diffstat (limited to 'Library')
| -rw-r--r-- | Library/Homebrew/extend/git_repository.rb | 47 | ||||
| -rw-r--r-- | Library/Homebrew/global.rb | 1 |
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" |
