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

Re: Structured (ie: json) output for query commands?

From
Jeff King <peff@peff.net>
Date
Jun 30, 2021, 17:59 UTC
Message-ID
<YNyxD4qAHmbluNRe@coredump.intra.peff.net>
In-Reply-To
<CACPiFCLzsiUjx-vm-dcd=0E8HezMWkErPyS==OQ7OhaXqR6CUA@mail.gmail.com>
On Wed, Jun 30, 2021 at 01:00:24PM -0400, Martin Langhoff wrote:
Show 11 quoted lines
> I'm used to automating git by parsing stuff in Unix shell style. But
> the golden days that gave us Perl are well behind us.
> 
> Before I write (unreliable, leaky, likely buggy) text parsing bits one
> more time, has git grown formatted output? I'm aware of fmt and
> friends, I'm thinking of something that handles escaping, nested data
> structures, etc.
> 
> Something like "git shortlog --json".
> 
> Have there been discussions? Patches? (I don't spot anything in what's cooking).

It's been discussed off-and-on over the years, but I don't think anybody's actively working on it.

The trace2 facility has some json output. That's probably not helpful for what you're doing, but it does mean we have basic json output routines available.

One complication we faced is that a lot of Git's data is bag-of-bytes, not utf8. And json technically requires utf8. I don't remember if we simply fudged that and output possibly non-utf8 sequences, or if we actually encode them.

-Peff
Previous: Martin LanghoffNext: Martin Langhoff
Message 2 of 11 in “Structured (ie: json) output for query commands?”
  1. Martin LanghoffJun 30, 2021
  2. Jeff KingJun 30, 2021
  3. Martin LanghoffJun 30, 2021
  4. Jeff KingJul 1, 2021
  5. brian m. carlsonJun 30, 2021
  6. Martin LanghoffJun 30, 2021
  7. Jeff KingJul 1, 2021
  8. brian m. carlsonJul 1, 2021
  9. Jeff KingJul 1, 2021
  10. Ævar Arnfjörð BjarmasonJul 2, 2021
  11. Han-Wen NienhuysJul 1, 2021

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.