@@ -209,8 +209,9 @@ release_notes="$(execrelative ./release/generate_release_notes.sh --old-version
209
209
210
210
mkdir -p build
211
211
release_notes_file=" build/RELEASE-${new_version} .md"
212
+ release_notes_file_dryrun=" build/RELEASE-${new_version} -DRYRUN.md"
212
213
if (( dry_run)) ; then
213
- release_notes_file=" build/RELEASE- ${new_version} -DRYRUN.md "
214
+ release_notes_file=${release_notes_file_dryrun}
214
215
fi
215
216
get_editor () {
216
217
if command -v editor > /dev/null; then
@@ -249,25 +250,47 @@ else
249
250
fi
250
251
log
251
252
252
- if [[ -z ${editor} ]]; then
253
- log " No editor found, please set the \$ EDITOR environment variable for edit prompt."
254
- else
255
- while [[ ! ${edit:- } =~ ^[YyNn]$ ]]; do
256
- read -p " Edit release notes in \" ${editor} \" ? (y/n) " -n 1 -r edit
257
- log
258
- done
259
- if [[ ${edit} =~ ^[Yy]$ ]]; then
260
- " ${editor} " " ${release_notes_file} "
261
- release_notes2=" $( < " $release_notes_file " ) "
262
- if [[ " ${release_notes} " != " ${release_notes2} " ]]; then
263
- log " Release notes have been updated!"
264
- release_notes=" ${release_notes2} "
265
- else
266
- log " No changes detected..."
253
+ edit_release_notes () {
254
+ if [[ -z ${editor} ]]; then
255
+ log " No editor found, please set the \$ EDITOR environment variable for edit prompt."
256
+ else
257
+ while [[ ! ${edit:- } =~ ^[YyNn]$ ]]; do
258
+ read -p " Edit release notes in \" ${editor} \" ? (y/n) " -n 1 -r edit
259
+ log
260
+ done
261
+ if [[ ${edit} =~ ^[Yy]$ ]]; then
262
+ " ${editor} " " ${release_notes_file} "
263
+ release_notes2=" $( < " $release_notes_file " ) "
264
+ if [[ " ${release_notes} " != " ${release_notes2} " ]]; then
265
+ log " Release notes have been updated!"
266
+ release_notes=" ${release_notes2} "
267
+ else
268
+ log " No changes detected..."
269
+ fi
267
270
fi
268
271
fi
269
- fi
270
- log
272
+ log
273
+
274
+ if (( ! dry_run)) && [[ -f ${release_notes_file_dryrun} ]]; then
275
+ release_notes_dryrun=" $( < " ${release_notes_file_dryrun} " ) "
276
+ if [[ " ${release_notes} " != " ${release_notes_dryrun} " ]]; then
277
+ log " WARNING: Release notes differ from dry-run version:"
278
+ log
279
+ diff -u " ${release_notes_file_dryrun} " " ${release_notes_file} " || true
280
+ log
281
+ continue_with_new_release_notes=
282
+ while [[ ! ${continue_with_new_release_notes:- } =~ ^[YyNn]$ ]]; do
283
+ read -p " Continue with the new release notes anyway? (y/n) " -n 1 -r continue_with_new_release_notes
284
+ log
285
+ done
286
+ if [[ ${continue_with_new_release_notes} =~ ^[Nn]$ ]]; then
287
+ log
288
+ edit_release_notes
289
+ fi
290
+ fi
291
+ fi
292
+ }
293
+ edit_release_notes
271
294
272
295
while [[ ! ${preview:- } =~ ^[YyNn]$ ]]; do
273
296
read -p " Preview release notes? (y/n) " -n 1 -r preview
0 commit comments