Sha256: e58b7950941d0ea43953f6adbb436877771b46da1ef3d850b1231140714950fe
Contents?: true
Size: 904 Bytes
Versions: 3
Compression:
Stored size: 904 Bytes
Contents
require 'grit' module Git class Diff attr_reader :revision def initialize(dir, revision) @revision = revision @raw = `cd #{dir}; git diff --name-status #{@revision} HEAD` end def changed files_flagged ['A', 'C', 'M'] end def deleted files_flagged ['D'] end private def files_flagged(statuses) items = [] @raw.split("\n").each do |line| status, file = line.split("\t") items << file if statuses.include? status end items end end class Tree def initialize(dir, revision) @dir = dir @commit = Grit::Repo.new(dir).commit(revision) @tree = @commit.tree end def files `cd #{@dir}; git ls-tree --name-only -r #{revision}`.split("\n") end def show(file) (@tree / file).data end def revision @commit.sha end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
dandelion-0.1.3 | lib/dandelion/git.rb |
dandelion-0.1.2 | lib/dandelion/git.rb |
dandelion-0.1.1 | lib/dandelion/git.rb |