class Git

Public Class Methods

amnesia_max() click to toggle source
# File lib/git-amnesia/git.rb, line 14
def self.amnesia_max
    count = `git config amnesia.count`.trim.to_i
    if $?.exitstatus == 0
        count
    else
        @amnesia_count_default
    end
end
author_name() click to toggle source
# File lib/git-amnesia/git.rb, line 23
def self.author_name
    `git config user.name`.trim
end
logs(repos) click to toggle source
# File lib/git-amnesia/git.rb, line 38
def self.logs(repos)
    logs = []
    repos.each do |repo|
    cmd = "cd '#{repo}' 2>/dev/null" +
        " && git log --max-count=#{Git.amnesia_max} --author='#{Git.author_name}'" +
        " --all --pretty=format:'%at::#{repo.basename}::%s' 2>/dev/null"
        log = `#{cmd}`
        if $?.exitstatus == 0
            logs += log.explode.map { |l| Log.new(l) }
        end
    end
    logs
end
other_dirs() click to toggle source
# File lib/git-amnesia/git.rb, line 10
def self.other_dirs
    `git config dir.others | envsubst`.split_dirs.explode
end
repos() click to toggle source
# File lib/git-amnesia/git.rb, line 27
def self.repos
    workspace = Git.workspace
    repos = Git.other_dirs
    if !workspace.empty?
        repos += `ls #{workspace}`.explode.map do |r|
            r.prepend("#{workspace}/")
        end
    end
    repos
end
workspace() click to toggle source
# File lib/git-amnesia/git.rb, line 6
def self.workspace
    `git config dir.workspace | envsubst`.trim
end