summaryrefslogtreecommitdiff
path: root/tool/merger.rb
diff options
context:
space:
mode:
authornaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-02-27 04:10:03 +0000
committernaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-02-27 04:10:03 +0000
commit1ebf8916b239ab04f0a3b542f04486013fcb16b3 (patch)
tree1095bd014ad48a1fecfeb1a5f00aef6a0a0ef567 /tool/merger.rb
parent295e4bfd04a54eb72561d5a3cd723b42aa214ff1 (diff)
tool/merger.rb: normalize the merged revision string
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45189 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'tool/merger.rb')
-rwxr-xr-xtool/merger.rb14
1 files changed, 10 insertions, 4 deletions
diff --git a/tool/merger.rb b/tool/merger.rb
index 819f980601..0ad9dd3664 100755
--- a/tool/merger.rb
+++ b/tool/merger.rb
@@ -170,19 +170,25 @@ else
end
q = $repos + (ARGV[1] || default_merge_branch)
- revs = ARGV[0].split(/,\s*/)
+ revstr = ARGV[0].delete('^, :\-0-9')
+ revs = revstr.split(/[,\s]+/)
log = ''
log_svn = ''
revs.each do |rev|
case rev
- when /\Ar?\d+:r?\d+\z/
+ when /\A\d+:\d+\z/
r = ['-r', rev]
- when /\Ar?\d+\z/
+ when /\A(\d+)-(\d+)\z/
+ r = ['-r', rev]
+ when /\A\d+\z/
r = ['-c', rev]
when nil then
puts "#$0 revision"
exit
+ else
+ puts "invalid revision part '#{rev}' in '#{ARGV[0]}'"
+ exit
end
l = IO.popen %w'svn diff' + r + %w'--diff-cmd=diff -x -pU0' + [File.join(q, 'ChangeLog')] do |f|
@@ -224,7 +230,7 @@ else
version_up
f = Tempfile.new 'merger.rb'
- f.printf "merge revision(s) %s:%s\n", ARGV[0], tickets.join
+ f.printf "merge revision(s) %s:%s\n", revstr, tickets.join
f.write log_svn
f.flush
f.close