On 25/03/12 08:37AM, Patrick Steinhardt wrote: > On Tue, Mar 11, 2025 at 04:44:10PM -0700, Junio C Hamano wrote: > > Justin Tobler <jltobler@xxxxxxxxx> 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