@@ -1218,16 +1218,25 @@ end
1218
1218
1219
1219
def update_changelog ( version , language , path , changelog , header )
1220
1220
tag = previous_tag ( version , language )
1221
- log = if language == 'javascript'
1222
- `git --no-pager log #{ tag } ...HEAD --pretty=format:"- %s" --reverse #{ path } `
1223
- else
1224
- `git --no-pager log #{ tag } ...HEAD --pretty=format:"* %s" --reverse #{ path } `
1225
- end
1226
- commits = log . split ( '>>>' ) . map { |entry |
1227
- lines = entry . split ( "\n " )
1228
- lines . reject! { |line | line . match? ( /^(----|Co-authored|Signed-off)/ ) || line . empty? }
1229
- lines . join ( "\n " )
1230
- } . join ( "\n >>>" )
1221
+ bullet = language == 'javascript' ? '- ' : '* '
1222
+ commit_delimiter = '===DELIM==='
1223
+ tags_to_remove = /\[ (dotnet|rb|py|java|js|rust)\] :?\s ?/
1224
+
1225
+ command = "git --no-pager log #{ tag } ...HEAD --pretty=format:\" %s%n%b#{ commit_delimiter } \" --reverse #{ path } "
1226
+ puts "Executing git command: #{ command } "
1227
+
1228
+ log = `#{ command } `
1229
+
1230
+ commits = log . split ( commit_delimiter ) . map { |commit |
1231
+ lines = commit . gsub ( tags_to_remove , '' ) . strip . lines . map ( &:chomp )
1232
+ subject = "#{ bullet } #{ lines [ 0 ] } "
1233
+
1234
+ body = lines [ 1 ..]
1235
+ . reject { |line | line . match? ( /^(----|Co-authored|Signed-off)/ ) || line . empty? }
1236
+ . map { |line | " > #{ line } " }
1237
+ . join ( "\n " )
1238
+ body . empty? ? subject : "#{ subject } \n #{ body } "
1239
+ } . join ( "\n " )
1231
1240
1232
1241
File . open ( changelog , 'r+' ) do |file |
1233
1242
new_content = "#{ header } \n #{ commits } \n \n #{ file . read } "
0 commit comments