Path: blob/master/tools/dev/add_pr_fetch.rb
21467 views
#!/usr/bin/env ruby12toplevel = %x{git rev-parse --show-toplevel}.strip3infile = "#{toplevel}/.git/config"4outfile = infile5$stderr.puts "Rewriting #{infile}"6data = File.open(infile, 'rb') {|f| f.read f.stat.size}7newdata = ""8data.each_line do |line|9newdata << line10case line11when /^(\s*)fetch\s*=.*remotes\/([^\/]+)\//12ws = $113remote = $214pr_line = "fetch = +refs/pull/*/head:refs/remotes/#{remote}/pr/*"15next if line.strip == pr_line.strip16if data.include? pr_line17$stderr.puts "Skipping #{remote}, already present"18next19else20@new_pr_line ||= true21$stderr.puts "Adding pull request fetch for #{remote}"22newdata << "#{ws}#{pr_line}\n"23end24end25end2627if @new_pr_line28File.open(outfile, 'wb') {|f| f.write newdata}29$stderr.puts "Wrote #{outfile}"30else31$stderr.puts "No changes to #{outfile}"32end333435