Re: [PATCH v3 8/8] release.sh: add -f to generate for-next update email

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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
> 
> 




[Index of Archives]     [XFS Filesystem Development (older mail)]     [Linux Filesystem Development]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux RAID]     [Linux SCSI]


  Powered by Linux