diff options
author | naruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2014-02-27 04:10:03 +0000 |
---|---|---|
committer | naruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2014-02-27 04:10:03 +0000 |
commit | 1ebf8916b239ab04f0a3b542f04486013fcb16b3 (patch) | |
tree | 1095bd014ad48a1fecfeb1a5f00aef6a0a0ef567 /tool | |
parent | 295e4bfd04a54eb72561d5a3cd723b42aa214ff1 (diff) | |
download | ruby-1ebf8916b239ab04f0a3b542f04486013fcb16b3.tar.gz |
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')
-rwxr-xr-x | tool/merger.rb | 14 |
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 |