* tool/merger.rb (interactive): allow editing commit message.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35133 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
1b2a60759b
commit
06fba52338
@ -44,14 +44,15 @@ def version
|
|||||||
return v, p
|
return v, p
|
||||||
end
|
end
|
||||||
|
|
||||||
def interactive str
|
def interactive str, editfile = nil
|
||||||
loop do
|
loop do
|
||||||
yield
|
yield
|
||||||
STDERR.puts str
|
STDERR.puts "#{str} ([y]es|[a]bort|[r]etry#{'|[e]dit' if editfile})"
|
||||||
case STDIN.gets
|
case STDIN.gets
|
||||||
when /\Aa/i then exit
|
when /\Aa/i then exit
|
||||||
when /\Ar/i then redo
|
when /\Ar/i then redo
|
||||||
when /\Ay/i then break
|
when /\Ay/i then break
|
||||||
|
when /\Ae/i then system(ENV["EDITOR"], editfile)
|
||||||
else exit
|
else exit
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -105,7 +106,7 @@ def tag intv_p = false
|
|||||||
z = 'v' + x + '_' + p
|
z = 'v' + x + '_' + p
|
||||||
w = $repos + 'tags/' + z
|
w = $repos + 'tags/' + z
|
||||||
if intv_p
|
if intv_p
|
||||||
interactive "OK? svn cp -m \"add tag #{z}\" #{y} #{w} ([y]es|[a]bort|[r]etry)" do
|
interactive "OK? svn cp -m \"add tag #{z}\" #{y} #{w}" do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
system *%w'svn cp -m' + ["add tag #{z}"] + [y, w]
|
system *%w'svn cp -m' + ["add tag #{z}"] + [y, w]
|
||||||
@ -181,14 +182,14 @@ else
|
|||||||
f.write log_svn
|
f.write log_svn
|
||||||
f.flush
|
f.flush
|
||||||
f.close
|
f.close
|
||||||
f.open # avoid gc
|
|
||||||
|
|
||||||
interactive 'conflicts resolved? (y:yes, a:abort, r:retry, otherwise abort)' do
|
interactive 'conflicts resolved?', f.path do
|
||||||
f.rewind
|
|
||||||
IO.popen(ENV["PAGER"] || "less", "w") do |g|
|
IO.popen(ENV["PAGER"] || "less", "w") do |g|
|
||||||
g << `svn stat`
|
g << `svn stat`
|
||||||
g << "\n\n"
|
g << "\n\n"
|
||||||
|
f.open
|
||||||
g << f.read
|
g << f.read
|
||||||
|
f.close
|
||||||
g << "\n\n"
|
g << "\n\n"
|
||||||
g << `svn diff --diff-cmd=diff -x -upw`
|
g << `svn diff --diff-cmd=diff -x -upw`
|
||||||
end
|
end
|
||||||
|
Loading…
x
Reference in New Issue
Block a user