diff options
author | Nobuyoshi Nakada <[email protected]> | 2023-09-23 16:34:20 +0900 |
---|---|---|
committer | Nobuyoshi Nakada <[email protected]> | 2023-09-23 16:34:20 +0900 |
commit | d80002c902f128be11a567edafc6ef1a32ebb4d9 () | |
tree | ad8640d8cd414efec7ca8954e0ae86c39ce589ee | |
parent | 1da97292f86c30f863bfa1bc338b2d8e23124d2c (diff) |
Improve VCS::GIT#format_changelog addessing [ci skip]
-rw-r--r-- | tool/lib/vcs.rb | 32 |
1 files changed, 20 insertions, 12 deletions
@@ -698,15 +698,22 @@ class VCS fix = $1 s = s.lines fix.each_line do |x| case x - when %r[^ +(\d+)s([#{LOG_FIX_REGEXP_SEPARATORS}])(.+)\2(.*)\2]o - n = $1.to_i - wrong = $3 - correct = $4 - begin s[n][wrong] = correct rescue IndexError - message = ["format_changelog failed to replace #{wrong.dump} with #{correct.dump} at #$1\n"] from = [1, n-2].max to = [s.size-1, n+2].min s.each_with_index do |e, i| @@ -716,12 +723,13 @@ class VCS end raise message.join('') end - when %r[^( +)(\d+)i([#{LOG_FIX_REGEXP_SEPARATORS}])(.*)\3]o - s[$2.to_i, 0] = "#{$1}#{$4}\n" - when %r[^ +(\d+)(?:,(\d+))?d] - n = $1.to_i - e = $2 - s[n..(e ? e.to_i : n)] = [] end end s = s.join('') |