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

Re: [PATCH v5 1/2] repo: rename "keyvalue" to "lines"

From
Patrick Steinhardt <ps@pks.im>
Date
Jan 27, 2026, 06:58 UTC
Message-ID
<aXhiHAFNFxgsXa0S@pks.im>
In-Reply-To
<20260123164900.35092-2-lucasseikioshiro@gmail.com>
On Fri, Jan 23, 2026 at 01:34:53PM -0300, Lucas Seiki Oshiro wrote:
> The output format name "keyvalue" isn't so descriptive. Rename it to
> "lines", since it describes better the syntax of the output format and
> it isn't tied to key-value pairs.

I think this commit message is a bit hand-wavy. Most importantly, the reader might wonder _why_ it isn't so descriptive, and why these concerns are strong enough to change the accepted value now.

I would've written something like the following:
    Both subcommands in git-repo(1) accept the "keyvalue" format. This
    format is newline-delimited, where the key is separated from the
    value with an equals sign.
    The name of this option is suboptimal though, as it is both too
    limiting while at the same time not really indicating what it
    actually does:
      - There is no mention of the format being newline-delimited, which
        is the key differentiator to the "nul" format.
      - Both "nul" and "keyvalue" have a key and a value, so the latter
        is not exactly giving any hint what makes it so special.
      - "keyvalue" requires there to be, well, a key and a value, but we
        want to add additional output that is only going to be newline
        delimited.
    Taken together, "keyvalue" is kind of a bad name for this output
    format.
    Luckily, the git-repo(1) command is still rather new and marked as
    experimental, so things aren't cast into stone yet. Rename the
    format to "lines" instead to better indicate that the major
    difference is that we'll get newline-delimited output. This new name
    will also be a better fit for a subsequent extension in git-repo(1).

Please feel free to use this message or parts of it if you plan to reroll.

I was also briefly wondering whether it would make sense to call the new format "newlines" instead of "lines", but I'm not feeling strongly about this in any way.

Show 12 quoted lines
> diff --git a/builtin/repo.c b/builtin/repo.c
> index 0ea045abc1..4031612bc8 100644
> --- a/builtin/repo.c
> +++ b/builtin/repo.c
> @@ -26,7 +26,7 @@ typedef int get_value_fn(struct repository *repo, struct strbuf *buf);
>  
>  enum output_format {
>  	FORMAT_TABLE,
> -	FORMAT_KEYVALUE,
> +	FORMAT_LINES,
>  	FORMAT_NUL_TERMINATED,
>  };

This feels a bit unbalanced to me, as `FORMAT_LINES` and `FORMAT_NUL_TERMINATED` look so different from one another. Maybe it would be better to call it `FORMAT_NEWLINE_TERMINATED`?

Patrick
Previous: Lucas Seiki OshiroNext: Lucas Seiki Oshiro
Message 32 of 40 in “repo: add new flag --keys to git-repo-info”
  1. repo: add new flag --keys to git-repo-infoLucas Seiki Oshiro, Dec 7, 2025
  2. Junio C HamanoDec 7, 2025
  3. Lucas Seiki OshiroDec 8, 2025
  4. Patrick SteinhardtDec 8, 2025
  5. 0/2 repo: add new flag --keys to git-repo-infoLucas Seiki Oshiro, Dec 9, 2025
  6. 1/2 repo: add a default output format to enum output_formatLucas Seiki Oshiro, Dec 9, 2025
  7. Patrick SteinhardtJan 5, 2026
  8. Lucas Seiki OshiroJan 7, 2026
  9. Patrick SteinhardtJan 8, 2026
  10. 2/2 repo: add new flag --keys to git-repo-infoLucas Seiki Oshiro, Dec 9, 2025
  11. Patrick SteinhardtJan 5, 2026
  12. Lucas Seiki OshiroJan 5, 2026
  13. Patrick SteinhardtJan 5, 2026
  14. 0/2 repo: add --format=default and --keysLucas Seiki Oshiro, Jan 9, 2026
  15. Junio C HamanoJan 10, 2026
  16. Junio C HamanoJan 10, 2026
  17. 1/2 repo: add a default output format to enum output_formatLucas Seiki Oshiro, Jan 9, 2026
  18. 2/2 repo: add new flag --keys to git-repo-infoLucas Seiki Oshiro, Jan 9, 2026
  19. Jean-Noël AVILAJan 10, 2026
  20. Lucas Seiki OshiroJan 10, 2026
  21. Patrick SteinhardtJan 12, 2026
  22. 0/2 repo: add --format=default and --keysLucas Seiki Oshiro, Jan 19, 2026
  23. 1/2 repo: add a default output format to enum output_formatLucas Seiki Oshiro, Jan 19, 2026
  24. 2/2 repo: add new flag --keys to git-repo-infoLucas Seiki Oshiro, Jan 19, 2026
  25. Patrick SteinhardtJan 20, 2026
  26. Lucas Seiki OshiroJan 20, 2026
  27. Patrick SteinhardtJan 21, 2026
  28. Lucas Seiki OshiroJan 21, 2026
  29. Junio C HamanoJan 20, 2026
  30. 0/2 repo: add --keys and rename "keyvalue" to "lines"Lucas Seiki Oshiro, Jan 23, 2026
  31. 1/2 repo: rename "keyvalue" to "lines"Lucas Seiki Oshiro, Jan 23, 2026
  32. Patrick SteinhardtJan 27, 2026
  33. 2/2 repo: add new flag --keys to git-repo-infoLucas Seiki Oshiro, Jan 23, 2026
  34. Patrick SteinhardtJan 27, 2026
  35. Lucas Seiki OshiroJan 27, 2026
  36. 0/2 repo: add --keys and rename "keyvalue" to "lines"Lucas Seiki Oshiro, Feb 14, 2026
  37. 1/2 repo: rename the output format "keyvalue" to "lines"Lucas Seiki Oshiro, Feb 14, 2026
  38. 2/2 repo: add new flag --keys to git-repo-infoLucas Seiki Oshiro, Feb 14, 2026
  39. Junio C HamanoFeb 14, 2026
  40. Patrick SteinhardtFeb 16, 2026

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.