lib/dandelion/git.rb in dandelion-0.1.3 vs lib/dandelion/git.rb in dandelion-0.1.4

- old
+ new

@@ -1,14 +1,17 @@ require 'grit' module Git + class DiffError < StandardError; end + class Diff attr_reader :revision def initialize(dir, revision) @revision = revision @raw = `cd #{dir}; git diff --name-status #{@revision} HEAD` + check_state! end def changed files_flagged ['A', 'C', 'M'] end @@ -24,9 +27,15 @@ @raw.split("\n").each do |line| status, file = line.split("\t") items << file if statuses.include? status end items + end + + def check_state! + if $?.exitstatus != 0 + raise DiffError + end end end class Tree def initialize(dir, revision) \ No newline at end of file