git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
To: Junio C Hamano <gitster@pobox.com>
Cc: git@vger.kernel.org, "Eric Wong" <e@80x24.org>,
	"Benno Evers" <benno@bmevers.de>, "Jean Privat" <jean@pryen.org>,
	"René Scharfe" <l.s.r@web.de>
Subject: Re: [PATCH 04/10] test-lib functions: add an --annotated-tag option to "test_commit"
Date: Tue, 02 Mar 2021 10:34:53 +0100	[thread overview]
Message-ID: <87czwhkif6.fsf@evledraar.gmail.com> (raw)
In-Reply-To: <xmqqr1kyo8l8.fsf@gitster.c.googlers.com>


On Mon, Mar 01 2021, Junio C Hamano wrote:

> Ævar Arnfjörð Bjarmason  <avarab@gmail.com> writes:
>
>> @@ -220,6 +225,9 @@ test_commit () {
>>  		--no-tag)
>>  			no_tag=yes
>>  			;;
>> +		--annotated-tag)
>> +			annotated_tag=yes
>> +			;;
>
> A new option is welcome, but shouldn't we be straightening out the
> variables that keep track of the options around tagging?  It's not
> like it is possible to have 4 (two variables that can independently
> set to 'yes') possibilities, so something along the lines of ...
>
>          test_commit () {
>         +	tag=light &&
>                 notick= &&
>          ...
> 		while test $# != 0
> 		do
> 			case "$1" in
> 			...
> 			--no-tag)
> 	-			no_tag=yes
> 	+			tag=none
> 				;;
> 	+		--annotated)
> 	+			tag=annotated
> 	+			;;
> 		...
> 	-	if test -z "$no_tag"
> 	-	then
> 	+	case "$tag" in
> 	+	none)
> 	+		;;
> 	+	light)
> 			git ${indir:+ -C "$indir") tag "${4:-$1}"
> 	+		;;
> 	+	annotated)
> 	+		git ${indir:+ -C "$indir") tag -m "$1" "${4:-$1}"
> 	+		;;
> 	+	esac
> 		...
>
> after this step (meaning, we may want to start from fixing the no_tag=yes
> to tag=none before introducing this new feature).

Yeah, as noted in the last paragraph of the commit message:
    
    The placement of --annotated-tag after "notick" in the case of the
    documentation, and then after "no_tag" in the case of the code is
    slightly inconsistent. It's to evade a merge conflict with two other
    commits adding a --printf option, and another one adding documentation
    for --no-tag.

So the existing patch + not doing a bigger refactoring is because I
didn't want to cause conflicts for you to solve with other in-flight
topics. It would be easier with ab/pickaxe-pcre2 merged down :)

I'd prefer to keep this as-is for now, and just refactor this function a
bit after the current topics land.

In particular I'd like to make the the "message file contents tags"
arguments optionally have --long-option versions, so e.g. tests that
need a separate --commit-message and --tag-message can use the helper,
there's also quite a few that could use a --file=<existing file>
v.s. echo-ing a "message" to a "file".


>> @@ -244,7 +252,15 @@ test_commit () {
>>  	    $signoff -m "$1" &&
>>  	if test -z "$no_tag"
>>  	then
>> -		git ${indir:+ -C "$indir"} tag "${4:-$1}"
>> +		if test -n "$annotated_tag"
>> +		then
>> +			if test -z "$notick"
>> +			then
>> +				test_tick
>> +			fi &&
>> +			test_tick
>> +		fi &&
>> +		git ${indir:+ -C "$indir"} tag ${annotated_tag:+ -a -m "$1"} "${4:-$1}"
>>  	fi
>>  }


  reply	other threads:[~2021-03-02 15:28 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-23 12:51 [PATCH] describe: dont abort too early when searching tags Benno Evers
2020-02-24 20:52 ` Junio C Hamano
2020-02-25 19:07   ` benno
2020-02-25 20:10     ` Junio C Hamano
2021-02-28 19:54 ` [PATCH 00/10] describe tests: refactor & fix recent broken tests Ævar Arnfjörð Bjarmason
2021-03-09  0:47   ` Junio C Hamano
2021-03-12 23:59   ` Junio C Hamano
2021-04-12 11:21   ` [PATCH v2 0/5] describe test fixes Ævar Arnfjörð Bjarmason
2021-04-12 11:21     ` [PATCH v2 1/5] describe tests: improve test for --work-tree & --dirty Ævar Arnfjörð Bjarmason
2021-04-12 11:21     ` [PATCH v2 2/5] describe tests: refactor away from glob matching Ævar Arnfjörð Bjarmason
2021-04-12 11:21     ` [PATCH v2 3/5] describe tests: don't rely on err.actual from "check_describe" Ævar Arnfjörð Bjarmason
2021-04-12 11:21     ` [PATCH v2 4/5] describe tests: fix nested "test_expect_success" call Ævar Arnfjörð Bjarmason
2021-04-12 11:21     ` [PATCH v2 5/5] describe tests: support -C in "check_describe" Ævar Arnfjörð Bjarmason
2021-04-12 11:33   ` [PATCH v2 0/2] svn tests: trivial "set -e" in main body of test fixes Ævar Arnfjörð Bjarmason
2021-04-12 11:33     ` [PATCH v2 1/2] svn tests: remove legacy re-setup from init-clone test Ævar Arnfjörð Bjarmason
2021-04-12 11:33     ` [PATCH v2 2/2] svn tests: refactor away a "set -e" in test body Ævar Arnfjörð Bjarmason
2021-02-28 19:54 ` [PATCH 01/10] describe tests: improve test for --work-tree & --dirty Ævar Arnfjörð Bjarmason
2021-02-28 19:54 ` [PATCH 02/10] describe tests: refactor away from glob matching Ævar Arnfjörð Bjarmason
2021-03-01 21:26   ` Junio C Hamano
2021-02-28 19:54 ` [PATCH 03/10] describe tests: always assert empty stderr from "describe" Ævar Arnfjörð Bjarmason
2021-03-01 21:32   ` Junio C Hamano
2021-02-28 19:54 ` [PATCH 04/10] test-lib functions: add an --annotated-tag option to "test_commit" Ævar Arnfjörð Bjarmason
2021-03-01 21:41   ` Junio C Hamano
2021-03-02  9:34     ` Ævar Arnfjörð Bjarmason [this message]
2021-03-03  6:35       ` Junio C Hamano
2021-02-28 19:54 ` [PATCH 05/10] describe tests: convert setup to use test_commit Ævar Arnfjörð Bjarmason
2021-03-01 21:42   ` Junio C Hamano
2021-02-28 19:54 ` [PATCH 06/10] describe tests: fix nested "test_expect_success" call Ævar Arnfjörð Bjarmason
2021-02-28 19:54 ` [PATCH 07/10] describe tests: support -C in "check_describe" Ævar Arnfjörð Bjarmason
2021-02-28 19:54 ` [PATCH 08/10] svn tests: remove legacy re-setup from init-clone test Ævar Arnfjörð Bjarmason
2021-02-28 19:54 ` [PATCH 09/10] svn tests: refactor away a "set -e" in test body Ævar Arnfjörð Bjarmason
2021-02-28 21:14   ` Eric Wong
2021-02-28 19:54 ` [PATCH 10/10] test-lib: return 1 from test_expect_{success,failure} Ævar Arnfjörð Bjarmason
2021-03-01 21:43   ` Junio C Hamano

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87czwhkif6.fsf@evledraar.gmail.com \
    --to=avarab@gmail.com \
    --cc=benno@bmevers.de \
    --cc=e@80x24.org \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=jean@pryen.org \
    --cc=l.s.r@web.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).