Subject: Re: [PATCH 0/8] fetch: introduce machine-parseable output

From: Jacob Keller <[email-masked]>
Date: Wed, 26 Apr 2023 12:17:16 -0700

On 4/19/2023 5:31 AM, Patrick Steinhardt wrote:
> 
> ```
> $ git fetch --output-format=porcelain --no-progress
>   fff5a5e7f528b2ed2c335991399a766c2cf01103 af67688dca57999fd848f051eeea1d375ba546b2 refs/remotes/origin/master
> * 0000000000000000000000000000000000000000 e046fe5a36a970bc14fbfbcb2074a48776f6b671 refs/remotes/origin/x86-rep-insns
> * 0000000000000000000000000000000000000000 bb81ed6862b864c9eb99447f04d49a84ecb647e5 refs/tags/v6.3-rc4
> * 0000000000000000000000000000000000000000 83af7b1468c0dca86b4dc9e43e73bfa4f38d9637 refs/tags/v6.3-rc5
> * 0000000000000000000000000000000000000000 ab3affb8ed84f68638162fe7e6fd4055e15bff5b refs/tags/v6.3-rc6
> * 0000000000000000000000000000000000000000 1c8c28415e8743368a2b800520a6dd0b22ee6ec2 refs/tags/v6.3-rc7
> ```
> 

One thing that the standard output (maybe with --progress?) shows to
stderr is which remote is being fetched and what URL was fetched.

This seems like useful data to include in a machine readable format. It
wasn't clear if such output would still be made and whether it would go
to stderr or stdout, nor whether that existing output was machine readable.

Obviously you can somewhat infer remotes based on the refs/remotes, but
that doesn't include other refs like tags.

When fetching from multiple reports (--all or explicitly asking), I
wonder if it makes sense to include some lines to differentiate where
each block of updates for a given remote starts and ends?

Thanks,
Jake