require 'cgi' require 'diff' require 'open3' require 'open-uri' require 'pp' require 'set' require 'tempfile' module PrettyPatch public GIT_PATH = "git" def self.prettify(string) $last_prettify_file_count = -1 $last_prettify_part_count = { "remove" => 0, "add" => 0, "shared" => 0, "binary" => 0, "extract-error" => 0 } string = normalize_line_ending(string) str = "#{HEADER}
\n" # Just look at the first line to see if it is an SVN revision number as added # by webkit-patch for git checkouts. $svn_revision = 0 string.each_line do |line| match = /^Subversion\ Revision: (\d*)$/.match(line) unless match.nil? str << "#{match[1]}\n" $svn_revision = match[1].to_i; end break end fileDiffs = FileDiff.parse(string) $last_prettify_file_count = fileDiffs.length str << fileDiffs.collect{ |diff| diff.to_html }.join str << "