#!/usr/bin/ruby -w class Result attr_accessor :version, :result, :time, :guess, :explanation def to_s "#{@version} #{@result} #{@time} #{@guess} #{@explanation}" end end previous = {} IO::read(ARGV[0]).each_line do |l| l.chomp! r = Result::new p, r.version, r.result, r.time, r.guess, r.explanation = l.split(' ', 6) if r.explanation.nil? r.explanation = "" end # cleanup old explanations r.explanation.gsub!(/ NEWFAIL$/ ,'') previous[p] = r end IO::read(ARGV[1]).each_line do |l| l.chomp! r = Result::new pkg, r.version, r.result, r.time, r.guess, r.explanation = l.split(' ', 6) if r.explanation == "TODO" or r.explanation == "TODO NEWFAIL" if previous[pkg] and previous[pkg].result == r.result and previous[pkg].explanation !~ /^TODO/ pr = previous[pkg] r.explanation += " S/" r.explanation += "V" if pr.version == r.version r.explanation += "G" if pr.guess == r.guess r.explanation += "/" + pr.explanation end end puts "#{pkg} #{r}" end