From d835ed4df1ae2bf317db41a8009b1fad143c94f1 Mon Sep 17 00:00:00 2001 From: Takashi Kokubun Date: Sun, 28 Apr 2019 21:02:01 +0900 Subject: Define merger.rb's methods under Merger namespace so that we do not monkey-patch all classes by defining methods on top-level (Object class). Not arranging indentation in it to keep `git blame` for now. --- tool/merger.rb | 33 ++++++++++++++++++--------------- 1 file changed, 18 insertions(+), 15 deletions(-) (limited to 'tool/merger.rb') diff --git a/tool/merger.rb b/tool/merger.rb index 4f21e81eb7..a210a92a29 100755 --- a/tool/merger.rb +++ b/tool/merger.rb @@ -14,8 +14,10 @@ require 'uri' $repos = 'svn+ssh://svn@ci.ruby-lang.org/ruby/' ENV['LC_ALL'] = 'C' -def help - puts <<-end +module Merger + class << self + def help + puts <<-end \e[1msimple backport\e[0m ruby #$0 1234 @@ -41,11 +43,10 @@ def help ruby #$0 removetag 2.2.9 \e[33;1m* all operations shall be applied to the working directory.\e[0m -end -end - -# Prints the version of Ruby found in version.h + end + end + # Prints the version of Ruby found in version.h def version v = p = nil open 'version.h', 'rb' do |f| @@ -201,20 +202,22 @@ end def default_merge_branch %r{^URL: .*/branches/ruby_1_8_} =~ `svn info` ? 'branches/ruby_1_8' : 'trunk' end + end # class << self +end # module Merger case ARGV[0] when "teenyup" - version_up(:teeny) + Merger.version_up(:teeny) system 'svn diff version.h' when "up", /\A(ver|version|rev|revision|lv|level|patch\s*level)\s*up/ - version_up + Merger.version_up system 'svn diff version.h' when "tag" - tag :interactive, ARGV[1] + Merger.tag :interactive, ARGV[1] when /\A(?:remove|rm|del)_?tag\z/ - remove_tag :interactive, ARGV[1] + Merger.remove_tag :interactive, ARGV[1] when nil, "-h", "--help" - help + Merger.help exit else system 'svn up' @@ -230,7 +233,7 @@ else tickets = '' end - q = $repos + (ARGV[1] || default_merge_branch) + q = $repos + (ARGV[1] || Merger.default_merge_branch) revstr = ARGV[0].delete('^, :\-0-9a-fA-F') revs = revstr.split(/[,\s]+/) commit_message = '' @@ -274,18 +277,18 @@ else end if `svn diff --diff-cmd=diff -x -upw`.empty? - interactive 'Nothing is modified, right?' do + Merger.interactive 'Nothing is modified, right?' do end end - version_up + Merger.version_up f = Tempfile.new 'merger.rb' f.printf "merge revision(s) %s:%s", revstr, tickets f.write commit_message f.flush f.close - interactive 'conflicts resolved?', f.path do + Merger.interactive 'conflicts resolved?', f.path do IO.popen(ENV["PAGER"] || "less", "w") do |g| g << `svn stat` g << "\n\n" -- cgit v1.2.3