summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xtool/merger.rb21
-rwxr-xr-xtool/redmine-backporter.rb2
2 files changed, 16 insertions, 7 deletions
diff --git a/tool/merger.rb b/tool/merger.rb
index 8b12334b73..4c096087fc 100755
--- a/tool/merger.rb
+++ b/tool/merger.rb
@@ -65,7 +65,8 @@ class << Merger = Object.new
if teeny
v[2].succ!
end
- if pl != '-1' # trunk does not have patchlevel
+ # We stopped bumping RUBY_PATCHLEVEL at Ruby 4.0.0.
+ if Integer(v[0]) <= 3
pl.succ!
end
@@ -113,7 +114,13 @@ class << Merger = Object.new
abort 'no relname is given and not in a release branch even if this is patch release'
end
end
- tagname = "v#{v.join('_')}#{("_#{pl}" if v[0] < "2" || (v[0] == "2" && v[1] < "1") || /^(?:preview|rc)/ =~ pl)}"
+ if /^(?:preview|rc)/ =~ pl
+ tagname = "v#{v.join('.')}-#{pl}"
+ elsif Integer(v[0]) >= 4
+ tagname = "v#{v.join('.')}"
+ else
+ tagname = "v#{v.join('_')}"
+ end
unless execute('git', 'diff', '--exit-code')
abort 'uncommitted changes'
@@ -135,10 +142,12 @@ class << Merger = Object.new
unless relname
raise ArgumentError, 'relname is not specified'
end
- if /^v/ !~ relname
- tagname = "v#{relname.gsub(/[.-]/, '_')}"
- else
+ if relname.start_with?('v')
tagname = relname
+ elsif Integer(relname.split('.', 2).first) >= 4
+ tagname = "v#{relname}"
+ else
+ tagname = "v#{relname.gsub(/[.-]/, '_')}"
end
execute('git', 'tag', '-d', tagname)
@@ -263,7 +272,7 @@ else
end
# Merge revision from Git patch
- git_uri = "https://git.ruby-lang.org/ruby.git/patch/?id=#{git_rev}"
+ git_uri = "https://github.com/ruby/ruby/commit/#{git_rev}.patch"
resp = Net::HTTP.get_response(URI(git_uri))
if resp.code != '200'
abort "'#{git_uri}' returned status '#{resp.code}':\n#{resp.body}"
diff --git a/tool/redmine-backporter.rb b/tool/redmine-backporter.rb
index 7f08eb8d1a..95a9688cb2 100755
--- a/tool/redmine-backporter.rb
+++ b/tool/redmine-backporter.rb
@@ -190,7 +190,7 @@ def backport_command_string
next false if c.match(/\A\d{1,6}\z/) # skip SVN revision
# check if the Git revision is included in master
- has_commit(c, "master")
+ has_commit(c, "origin/master")
end.sort_by do |changeset|
Integer(IO.popen(%W[git show -s --format=%ct #{changeset}], &:read))
end