From 92bfddff928a70f595c38da6779c2168179c3d6f Mon Sep 17 00:00:00 2001 From: nobu Date: Tue, 19 Dec 2017 03:17:37 +0000 Subject: vcs: --add-author-from * tool/vcs.rb (VCS::GIT#commit): no --add-author-from option if author equals committer. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61334 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- tool/vcs.rb | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'tool') diff --git a/tool/vcs.rb b/tool/vcs.rb index 6bb23039ff..c3a5b3a0f8 100644 --- a/tool/vcs.rb +++ b/tool/vcs.rb @@ -469,7 +469,17 @@ class VCS def commit rev = cmd_read(%W"#{COMMAND} svn info"+[STDERR=>[:child, :out]])[/^Last Changed Rev: (\d+)/, 1] - ret = system(COMMAND, "svn", "dcommit", "--add-author-from") + com = cmd_read(%W"#{COMMAND} svn find-rev r#{rev}").chomp + + # TODO: dcommit necessary commits only with --add-author-from + same = true + cmd_pipe([COMMAND, "log", "--format=%ae %ce", "#{com}..@"], "rb") do |r| + r.each do |l| + same &&= /^(\S+) +\1$/ =~ l + end + end + ret = system(COMMAND, "svn", "dcommit", *(["--add-author-from"] unless same)) + if ret and rev old = [cmd_read(%W"#{COMMAND} log -1 --format=%H").chomp] old << cmd_read(%W"#{COMMAND} svn reset -r#{rev}")[/^r#{rev} = (\h+)/, 1] -- cgit v1.2.3