On Tue, Feb 11, 2025 at 06:27:00PM +0100, Andrey Albershteyn wrote: > Add --for-next/-f to generate ANNOUNCE email for for-next branch > update. This doesn't require new commit/tarball/tags, so skip it. > > Signed-off-by: Andrey Albershteyn <aalbersh@xxxxxxxxxx> > --- > release.sh | 92 ++++++++++++++++++++++++++++++++++++++++---------------------- > 1 file changed, 59 insertions(+), 33 deletions(-) > > diff --git a/release.sh b/release.sh > index 3d272aebdb1fe7a3b47689b9dc129a26d6a9eb20..863c2c5e061b73e232c0bb01e879a115b6dd55bb 100755 > --- a/release.sh > +++ b/release.sh > @@ -14,12 +14,14 @@ set -e > KUP=0 > COMMIT=1 > LAST_HEAD="" > +FOR_NEXT=0 > > help() { > echo "$(basename) - create xfsprogs release" > printf "\t[--kup|-k] upload final tarball with KUP\n" > printf "\t[--no-commit|-n] don't create release commit\n" > printf "\t[--last-head|-l] commit of the last release\n" > + printf "\t[--for-next|-f] generate announce email for for-next update\n" > } > > update_version() { > @@ -42,6 +44,48 @@ update_version() { > sed -i "1s/^/xfsprogs (${version}-1) unstable; urgency=low\n/" ./debian/changelog > } > > +prepare_mail() { Hoisting this to a function probably ought to be done in the patch that adds the email message body creation in the first place, so that the changes for --for-next are more obvious. The end result looks ok at least, so Reviewed-by: "Darrick J. Wong" <djwong@xxxxxxxxxx> --D > + branch="$1" > + mail_file=$(mktemp) > + if [ -n "$LAST_HEAD" ]; then > + if [ $branch == "master" ]; then > + reason="$(git describe --abbrev=0 $branch) released" > + else > + reason="for-next updated to $(git log --oneline --format="%h" -1 $branch)" > + fi; > + cat << EOF > $mail_file > +To: linux-xfs@xxxxxxxxxxxxxxx > +Cc: $(./tools/git-contributors.py $LAST_HEAD..$branch --delimiter ' ') > +Subject: [ANNOUNCE] xfsprogs: $reason > + > +Hi folks, > + > +The xfsprogs $branch branch in repository at: > + > + git://git.kernel.org/pub/scm/fs/xfs/xfsprogs-dev.git > + > +has just been updated. > + > +Patches often get missed, so if your outstanding patches are properly reviewed > +on the list and not included in this update, please let me know. > + > +The for-next branch has also been updated to match the state of master. > + > +The new head of the $branch branch is commit: > + > +$(git log --oneline --format="%H" -1 $branch) > + > +New commits: > + > +$(git shortlog --format="[%h] %s" $LAST_HEAD..$branch) > + > +Code Diffstat: > + > +$(git diff --stat --summary -C -M $LAST_HEAD..$branch) > +EOF > + fi > +} > + > while [ $# -gt 0 ]; do > case "$1" in > --kup|-k) > @@ -54,6 +98,9 @@ while [ $# -gt 0 ]; do > LAST_HEAD=$2 > shift > ;; > + --for-next|-f) > + FOR_NEXT=1 > + ;; > --help|-h) > help > exit 0 > @@ -66,6 +113,17 @@ while [ $# -gt 0 ]; do > shift > done > > +if [ $FOR_NEXT -eq 1 ]; then > + echo "Push your for-next branch:" > + printf "\tgit push origin for-next:for-next\n" > + prepare_mail "for-next" > + if [ -n "$LAST_HEAD" ]; then > + echo "Command to send ANNOUNCE email" > + printf "\tneomutt -H $mail_file\n" > + fi > + exit 0 > +fi > + > if [ -z "$EDITOR" ]; then > EDITOR=$(command -v vi) > fi > @@ -128,39 +186,7 @@ if [ $KUP -eq 1 ]; then > pub/linux/utils/fs/xfs/xfsprogs/ > fi; > > -mail_file=$(mktemp) > -if [ -n "$LAST_HEAD" ]; then > - cat << EOF > $mail_file > -To: linux-xfs@xxxxxxxxxxxxxxx > -Cc: $(./tools/git-contributors.py $LAST_HEAD.. --delimiter ' ') > -Subject: [ANNOUNCE] xfsprogs $(git describe --abbrev=0) released > - > -Hi folks, > - > -The xfsprogs repository at: > - > - git://git.kernel.org/pub/scm/fs/xfs/xfsprogs-dev.git > - > -has just been updated. > - > -Patches often get missed, so if your outstanding patches are properly reviewed > -on the list and not included in this update, please let me know. > - > -The for-next branch has also been updated to match the state of master. > - > -The new head of the master branch is commit: > - > -$(git log --oneline --format="%H" -1) > - > -New commits: > - > -$(git shortlog --format="[%h] %s" $LAST_HEAD..HEAD) > - > -Code Diffstat: > - > -$(git diff --stat --summary -C -M $LAST_HEAD..HEAD) > -EOF > -fi > +prepare_mail "master" > > echo "" > echo "Done. Please remember to push out tags and the branch." > > -- > 2.47.2 > >