class Repobrowse::Git

Constants

GIT_ESC

Public Class Methods

new(git_dir) click to toggle source
# File lib/repobrowse/git.rb, line 23
def initialize(git_dir)
  @git_dir = -git_dir
end

Public Instance Methods

cloneurl() click to toggle source
# File lib/repobrowse/git.rb, line 39
def cloneurl
  File.open("#@git_dir/cloneurl", &:readlines).map! { |s| s.strip!; -s }
rescue
  '[error reading $GIT_DIR/cloneurl]'
end
description() click to toggle source
# File lib/repobrowse/git.rb, line 31
def description
  s = File.open("#@git_dir/description", &:read)
  s.strip!
  -s
rescue
  '[error reading $GIT_DIR/description]'
end
git_unquote(s) click to toggle source
# File lib/repobrowse/git.rb, line 56
def git_unquote(s)
  return s unless s =~ /\A"(.*)"\z/n
  s = $1
  s.gsub!(/\\[abfnrtv]/n, GIT_ESC)
  s.gsub!(/\\([0-7]{1,3})/n) { $1.oct.chr }
  s
end
popen(argv, encoding: Encoding::ASCII_8BIT) click to toggle source
# File lib/repobrowse/git.rb, line 45
def popen(argv, encoding: Encoding::ASCII_8BIT)
  cmd = %w(git).concat(argv)
  IO.popen(cmd, chdir: @git_dir, encoding: encoding)
end
rugged() click to toggle source
# File lib/repobrowse/git.rb, line 27
def rugged
  Thread.current["rgd.#@git_dir".to_sym] ||= Rugged::Repository.new(@git_dir)
end
tip() click to toggle source
# File lib/repobrowse/git.rb, line 50
def tip
  rugged.head.name
rescue
  '[error running git symbolic-ref --short HEAD]'
end