#!/usr/bin/env ruby def add_to_news(args) f1=File.open("NEWS") f2=File.open(".NEWS","w") s="" begin s=f1.gets s=s.chomp if s f2.puts s end while s!="* The following bugs are resolved with this release:" s=f1.gets s=s.chomp if s f2.puts s ary=[] begin s=f1.gets s=s.chomp if s ary+=s.strip.split(/[.,]/).map{|x|x.to_i} end while s!="" ary += args ary = ary.sort.uniq first=false r="" rf=nil ary.size.times{|i| r2=r+", "+ary[i].to_s if r2.size>=75 r[0,1]=" " first = true rf=r r=" "+ary[i].to_s else if first f2.puts rf+"," first=false end r = r2 end } r[0,1]=" " f2.puts rf+"," f2.puts r+"." f2.puts begin s=f1.gets s=s.chomp if s f2.puts s if s end while s f2.close puts `cp .NEWS NEWS` end msg = `git log -1 HEAD` args=[] if msg.index("BZ ") puts msg[(msg.index("BZ ")+3)...-1].split(",").inspect msg[(msg.index("BZ ")+3)...-1].split(",").each{|s| s=s[1..-1] if s[0,1] == " " s=s[1..-1] if s[0,1] == "#" break if !s || s.to_i == 0 args << s.to_i } end puts "ADDING #{args*","}" add_to_news(args) `git add NEWS` `git commit -C HEAD --amend --no-verify` puts "Fixed by #{`git rev-parse HEAD`}." args.each {|a| fork { `firefox -new-tab http://sourceware.org/bugzilla/show_bug.cgi?id=#{a}` } }