Pastie now auto-senses if line-wrap is a bad or good idea. Feedback?
## mark a section (Learn more)
# resolve.rb = put this at the root of your Rails project # ruby resolve.rb will search every relevant file for svn/git conflicts def process_file(file) dest_file = file + ".tmp" File.delete(dest_file) if File.exists?(dest_file) File.open(file, "r") do |source| line_count = 0 File.open(dest_file, "w") do |dest| while line = source.gets line_count += 1 if line =~ /<<<<<<</ head_buffer = "" master_buffer = "" is_head = true while line = source.gets line_count += 1 break if line =~ />>>>>>>/ if line =~ /=======/ is_head = false next end if is_head head_buffer << line else master_buffer << line end end puts "\n\nLine: #{line_count} File: #{file}\n" puts "<<<<<<< HEAD \n" puts head_buffer puts "======= \n" puts master_buffer puts ">>>>>>> MASTER \n" puts "Choose (h)ead or (m)aster (default m)" choice = "x" while !%w(h m q).include?(choice) break if choice == '' choice = gets.strip end case choice when 'q': exit(1) when 'h': dest << head_buffer when '','m': dest << master_buffer end else dest << line end end end end dest_file end %w(rb rhtml rxml rjs js html txt rake cgi fcgi css yml).each do |format| Dir.glob("**/*.#{format}").each do |file| next if file =~ /resolve\.rb/ puts "\n======= Processing: #{file}\n" tmp_file = process_file(file) File.delete(file) File.rename(tmp_file, file) end end %w(CHANGELOG LICENSE README).each do |orig| Dir.glob("**/#{orig}").each do |file| puts "\n======= Processing: #{file}\n" tmp_file = process_file(file) File.delete(file) File.rename(tmp_file, file) end end
This paste will be private.
From the Design Piracy series on my blog: