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

Re: [PATCH] t1300: document some aesthetic failures of the config editor

From
Junio C Hamano <gitster@pobox.com>
Date
Mar 29, 2013, 18:51 UTC
Message-ID
<7vobe2nins.fsf@alter.siamese.dyndns.org>
In-Reply-To
<20130329175058.GA13506@sigill.intra.peff.net>
Jeff King <peff@peff.net> writes:
Show 21 quoted lines
> diff --git a/t/t1300-repo-config.sh b/t/t1300-repo-config.sh
> index 3c96fda..d62facb 100755
> --- a/t/t1300-repo-config.sh
> +++ b/t/t1300-repo-config.sh
> @@ -1087,4 +1087,36 @@ test_expect_success 'barf on incomplete string' '
>  	grep " line 3 " error
>  '
>  
> +# good section hygiene
> +test_expect_failure 'unsetting the last key in a section removes header' '
> +	cat >.git/config <<-\EOF &&
> +	[section]
> +	# some intervening lines
> +	# that should be saved
> +	key = value
> +	EOF
> +
> +	cat >expect <<-\EOF &&
> +	# some intervening lines
> +	# that should be saved
> +	EOF
I do not know if I agree with this expectation.

Most likely these comments are about the section, and possibly even are specific to section.key, not applicable to the section in general). If we _were_ to remove the section header at this point, we should be removing the comment two out of three cases (if it is about section.key, it should go when section.key goes; if it is about section, it should go when section goes; if it is a more generic comment about this configuration file, it should stay).

A better approach may be to only insist on the "when adding, reuse an empty section header" side of the coin. Then we do not have to worry about "we keep cruft that talks about some section but what the comment says is illegible now the crucial bit of information, section name the comment talks about, is gone".

Show 18 quoted lines
> +
> +	git config --unset section.key &&
> +	test_cmp expect .git/config
> +'
> +
> +test_expect_failure 'adding a key into an empty section reuses header' '
> +	cat >.git/config <<-\EOF &&
> +	[section]
> +	EOF
> +
> +	q_to_tab >expect <<-\EOF &&
> +	[section]
> +	Qkey = value
> +	EOF
> +
> +	git config section.key value
> +	test_cmp expect .git/config
> +'
This side I would agree it is unconditionally a good thing to do.
Previous: Jeff KingNext: Jeff King
Message 6 of 13 in “Minor bug in git branch --set-upstream-to adding superfluous branch section to config”
  1. Phil HaackMar 29, 2013
  2. Jeff KingMar 29, 2013
  3. Thomas RastMar 29, 2013
  4. Jeff KingMar 29, 2013
  5. t1300: document some aesthetic failures of the config editorJeff King, Mar 29, 2013
  6. Junio C HamanoMar 29, 2013
  7. Jeff KingMar 29, 2013
  8. Junio C HamanoMar 29, 2013
  9. Jeff KingMar 30, 2013
  10. Johannes SchindelinMar 28, 2018
  11. Jeff KingMar 28, 2018
  12. Junio C HamanoMar 29, 2013
  13. Junio C HamanoMar 29, 2013

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.