def get_updated_files_change_info(revision, revisions)
updated = {}
logs = get_updated_files_from_log(revision, revisions)
recent_file = nil
logs.each do |line|
if /^---|^\+\+\+/ =~ line
recent_file = get_recent_file(line)
updated[recent_file] = [] unless updated.include?(recent_file)
elsif /^@@/ =~ line
removed_range = get_changed_range(line, '-')
added_range = get_changed_range(line, '\+')
updated[recent_file] << removed_range
updated[recent_file] << added_range
else
puts /^---/ =~ line
raise "diff lines that don't match the two patterns aren't expected: '#{line}'"
end
end
updated
end