@@ -11,13 +11,15 @@ artifacts_dir= &&
1111release_branch=main &&
1212git_or_mingit=" Git for Windows" &&
1313snapshot_version=t &&
14+ release_date= &&
1415while case " $1 " in
1516--git-dir=* ) git_git_dir=" ${1#* =} " ;;
1617--build-extra-dir=* ) build_extra_dir=" ${1#* =} " ;;
1718--artifacts-dir=* ) artifacts_dir=" ${1#* =} " ;;
1819--release-branch=* ) release_branch=" ${1#* =} " ;;
1920--mingit) git_or_mingit=" MinGit for Windows" ;;
2021--full|--full-version|--no-snapshot|--no-snapshot-version) snapshot_version=;;
22+ --release-date=* ) release_date=" ${1#* =} " ;;
2123* ) break ;;
2224esac ; do shift ; done ||
2325die " Could not parse command-line options: $* "
@@ -70,6 +72,9 @@ version_compare () {
7072mkdir -p " $artifacts_dir " &&
7173if test -n " $snapshot_version "
7274then
75+ test -z " $release_date " ||
76+ die ' Cannot specify --release-date with --no-snapshot-version'
77+
7378 tag_name=" $( git --git-dir " $git_git_dir " describe --match ' v[0-9]*' --exclude=' *-[0-9]*' " $git_rev " ) -$( date +%Y%m%d%H%M%S) " &&
7479 tag_message=" Snapshot build" &&
7580 release_note=" Snapshot of $( git --git-dir " $git_git_dir " show -s --pretty=' tformat:%h (%s, %ad)' --date=short " $git_rev " ) " &&
@@ -118,10 +123,13 @@ else
118123 ver=" $( echo " ${tag_name# v} " | sed -n \
119124 ' s/^\([0-9]*\.[0-9]*\.[0-9]*\(-rc[0-9]*\)\?\)\.windows\(\.1\|\(\.[0-9]*\)\)$/\1\4/p' ) " &&
120125
121- release_date=" $( LC_ALL=C date +" %B %-d %Y" |
122- sed -e ' s/\( [2-9]\?[4-90]\| 1[0-9]\) /\1th /' \
123- -e ' s/1 /1st /' -e ' s/2 /2nd /' -e ' s/3 /3rd /'
124- ) " &&
126+ if test -z " $release_date "
127+ then
128+ release_date=" $( LC_ALL=C date +" %B %-d %Y" |
129+ sed -e ' s/\( [2-9]\?[4-90]\| 1[0-9]\) /\1th /' \
130+ -e ' s/1 /1st /' -e ' s/2 /2nd /' -e ' s/3 /3rd /'
131+ ) "
132+ fi &&
125133 sed -i -e " 1s/.*/# $git_or_mingit v$display_version Release Notes/" \
126134 -e " 2s/.*/Latest update: $release_date /" \
127135 " $build_extra_dir " /ReleaseNotes.md &&
0 commit comments