git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] completion: clear cached --options when sourcing the completion script

From
Junio C Hamano <gitster@pobox.com>
Date
Mar 23, 2018, 17:35 UTC
Message-ID
<xmqq7eq2k840.fsf@gitster-ct.c.googlers.com>
In-Reply-To
<xmqqbmfek8ml.fsf@gitster-ct.c.googlers.com>
Junio C Hamano <gitster@pobox.com> writes:
Show 28 quoted lines
> SZEDER Gábor <szeder.dev@gmail.com> writes:
>
>> Hang on, this test fails in the GETTEXT_POISON build.
>
> Thanks.
>
>> The thing is, we get the merge strategies with this piece of code in
>> __git_list_merge_strategies() in master:
>>
>>     LANG=C LC_ALL=C git merge -s help 2>&1 |
>>     sed -n -e '/[Aa]vailable strategies are: /,/^$/{
>>         # a couple of s/// commands
>>     }'
>>
>>
>> and that '/[Aa]vailable strategies are: /' won't match in a
>> GETTEXT_POISON-ed output, because that string is translated.
>>
>> I think for now (-rc phase) we should just drop this test, and in the
>> future we should consider adding a 'git merge --list-strategies' option.
>
> I'd say we should just add !GETTEXT_POISON prereq to the problematic
> tests.  
>
> "git merge -s help" output under forced C locale is dependable in
> the real world.  It is GETTEXT_POISON that does not get this fact
> right.  There is no need for '--list-strat' option to make this test
> pass.
IOW, this is the minumum required.

By the way, shouldn't we be running the body of these new tests inside a subshell? Otherwise a dot-sourcing by an earlier test of these new ones _will_ affect all the subsequent tests.

 t/t9902-completion.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/t/t9902-completion.sh b/t/t9902-completion.sh
index 4c86adadf2..b7f5b1e632 100755
--- a/t/t9902-completion.sh
+++ b/t/t9902-completion.sh
@@ -1511,7 +1511,7 @@ test_expect_success 'sourcing the completion script clears cached porcelain comm
 	verbose test -z "$__git_porcelain_commands"
 '
 
-test_expect_success 'sourcing the completion script clears cached merge strategies' '
+test_expect_success !GETTEXT_POISON 'sourcing the completion script clears cached merge strategies' '
 	__git_compute_merge_strategies &&
 	verbose test -n "$__git_merge_strategies" &&
 	. "$GIT_BUILD_DIR/contrib/completion/git-completion.bash" &&
Previous: Junio C HamanoNext: SZEDER Gábor
Message 5 of 6 in “completion: clear cached --options when sourcing the completion script”
  1. completion: clear cached --options when sourcing the completion scriptSZEDER Gábor, Mar 22, 2018
  2. Duy NguyenMar 22, 2018
  3. SZEDER GáborMar 23, 2018
  4. Junio C HamanoMar 23, 2018
  5. Junio C HamanoMar 23, 2018
  6. SZEDER GáborMar 26, 2018

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.