Re: [PATCH 0/4] rev-list: introduce NUL-delimited output mode
- From
Justin Tobler <jltobler@gmail.com>
- Date
- Mar 12, 2025, 21:45 UTC
- Message-ID
- <pwovu5vmheonndcyq7hmpdzagengq4p5dxsyjshygjcdt45g7g@g7gebobbrygu>
- In-Reply-To
- <Z9E5qXQ2v4lu9hom@pks.im>
On 25/03/12 08:37AM, Patrick Steinhardt wrote:
Show 31 quoted lines
> On Tue, Mar 11, 2025 at 04:44:10PM -0700, Junio C Hamano wrote: > > Justin Tobler <jltobler@gmail.com> writes: > > > > >> (4) The traditional "rev-list --missing" output loses the leading > > >> "?"; it is replaced by "missing" as the <attr> name, i.e. such > > >> a record may look like "<oid> NUL missing=yes NUL..." together > > >> with other "<token>=<value> NUL" pairs appended as needed at > > >> the end. > > > > > > I think this is good. Instead of prefixing missing OIDs with '?', we can > > > just append another token/value pair `missing=yes`. > > > > And we may want to avoid excessive bloat of the output that is not > > primarily meant for human consumption, in which case perhaps a > > common things like "missing" and "path" can be given a shorter > > token, perhaps like "m=yes" and "p=Makefile"? > > I would prefer to keep longer paths here: > > - While the output typically shouldn't be seen by a human, the code > handling it both on the printing and on the receiving side would. > And there it helps the reader quite a bit to get additional context > rather than cryptic single-letter abbreviations that one would have > to always look up. > > - By keeping with long names we also avoid "letter squatting" when two > attributes of an object start with the same letter. > > - I doubt that the couple of extra characters is really going to > matter much given that most of the time will most likely be spent > reading and decompressing the objects from disk anyway.
I also would prefer to keep the longer token names here. I don't think the extra bytes should be much of a concern and it allows us to avoid having to conditionally change the printed token name when in the NUL-delimited mode for missing object metadata.
-Justin