From 4289be212b38cbd9a1676303224b6af5c00bd429 Mon Sep 17 00:00:00 2001 From: Christian Heusel Date: Tue, 18 Apr 2023 01:15:24 +0200 Subject: build: allow release options only in combination with --release It leads to weird expectations when using --db-update or --message without --release. Make the behavior more user friendly, by aborting the operation and explaining that release options only work in conjunction with the release option. Fixes #131 Signed-off-by: Christian Heusel --- doc/man/pkgctl-build.1.asciidoc | 4 +++- src/lib/build/build.sh | 10 ++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/doc/man/pkgctl-build.1.asciidoc b/doc/man/pkgctl-build.1.asciidoc index 6ae3872..489926e 100644 --- a/doc/man/pkgctl-build.1.asciidoc +++ b/doc/man/pkgctl-build.1.asciidoc @@ -60,7 +60,9 @@ Release Options --------------- *-r, --release*:: - Automatically commit, tag and release after building + Automatically commit, tag and release after building + + Specifying this option is required when using any of the following options + in this section *-m, --message* 'MSG':: Use the given as the commit message diff --git a/src/lib/build/build.sh b/src/lib/build/build.sh index fff8125..2153200 100644 --- a/src/lib/build/build.sh +++ b/src/lib/build/build.sh @@ -238,6 +238,16 @@ pkgctl_build() { esac done + # check if any release specific options were specified without releasing + if (( ! RELEASE )); then + if (( DB_UPDATE )); then + die "cannot use --db-update without --release" + fi + if [[ -n "${MESSAGE}" ]]; then + die "cannot use --message without --release" + fi + fi + # check if invoked without any path from within a packaging repo if (( ${#paths[@]} == 0 )); then if [[ -f PKGBUILD ]]; then -- cgit v1.2.3-70-g09d2