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