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

Re: [PATCH v2 2/5] builtin/repo: collect largest inflated objects

From
Justin Tobler <jltobler@gmail.com>
Date
Mar 2, 2026, 17:38 UTC
Message-ID
<aaXI0M7Ztk-Swm18@denethor>
In-Reply-To
<C99EBCF9-7980-495A-94C5-576AC6D140F3@gmail.com>
On 26/02/28 08:36PM, Lucas Seiki Oshiro wrote:
Show 22 quoted lines
> 
> > struct repo_structure {
> > @@ -371,6 +385,21 @@ static void stats_table_setup_structure(struct stats_table *table,
> >      "    * %s", _("Blobs"));
> > stats_table_size_addf(table, objects->disk_sizes.tags,
> >      "    * %s", _("Tags"));
> > +
> > + stats_table_addf(table, "");
> > + stats_table_addf(table, "* %s", _("Largest objects"));
> > + stats_table_addf(table, "  * %s", _("Commits"));
> > + stats_table_size_addf(table, objects->largest.commit_size.value,
> > +      "    * %s", _("Maximum size"));
> 
> I don't know if it's the best place to comment this, but it would be
> nice if we could find the commit that introduced the largest change,
> in terms of size or number of lines.
> 
> This would be useful for people who are asking "what's the largest
> commmit?" thinking about the introduced changes (like what we see in
> GitLab's interface) instead of the size of the commit object, which
> generally is proportional to the message size + the number of
> parents.

I assume by largest change we are referring to finding the commit that has the most lines changed between it and its parent. This could be interesting, but I suspect it could be quite costly to compute for large repositories with many commits. This type of information is not actually stored in the repository and would have to be computed on the fly. Since this information is not really part of the repository structure, it might not be a great fit for this command either. I'm not quite sure about this one.

Thanks, -Justin

Previous: Lucas Seiki OshiroNext: Justin Tobler
Message 28 of 50 in “builtin/repo: include largest object information”
  1. 0/5 builtin/repo: include largest object informationJustin Tobler, Feb 3, 2026
  2. 1/5 builtin/repo: update stats for each objectJustin Tobler, Feb 3, 2026
  3. Junio C HamanoFeb 3, 2026
  4. Justin ToblerFeb 18, 2026
  5. Junio C HamanoFeb 26, 2026
  6. Justin ToblerFeb 26, 2026
  7. 2/5 builtin/repo: collect largest inflated objectsJustin Tobler, Feb 3, 2026
  8. Junio C HamanoFeb 3, 2026
  9. Justin ToblerFeb 18, 2026
  10. 3/5 builtin/repo: add OID annotations to table outputJustin Tobler, Feb 3, 2026
  11. Patrick SteinhardtFeb 13, 2026
  12. Justin ToblerFeb 18, 2026
  13. 4/5 builtin/repo: find commit with most parentsJustin Tobler, Feb 3, 2026
  14. Junio C HamanoFeb 3, 2026
  15. Kristoffer HaugsbakkFeb 3, 2026
  16. Junio C HamanoFeb 3, 2026
  17. Justin ToblerFeb 18, 2026
  18. 5/5 builtin/repo: find tree with most entriesJustin Tobler, Feb 3, 2026
  19. Junio C HamanoFeb 3, 2026
  20. Patrick SteinhardtFeb 4, 2026
  21. Junio C HamanoFeb 4, 2026
  22. 0/5 builtin/repo: include largest object informationJustin Tobler, Feb 23, 2026
  23. 1/5 builtin/repo: update stats for each objectJustin Tobler, Feb 23, 2026
  24. 2/5 builtin/repo: collect largest inflated objectsJustin Tobler, Feb 23, 2026
  25. Junio C HamanoFeb 26, 2026
  26. Justin ToblerMar 2, 2026
  27. Lucas Seiki OshiroFeb 28, 2026
  28. Justin ToblerMar 2, 2026
  29. 3/5 builtin/repo: add OID annotations to table outputJustin Tobler, Feb 23, 2026
  30. Junio C HamanoFeb 26, 2026
  31. Justin ToblerMar 2, 2026
  32. 4/5 builtin/repo: find commit with most parentsJustin Tobler, Feb 23, 2026
  33. 5/5 builtin/repo: find tree with most entriesJustin Tobler, Feb 23, 2026
  34. Patrick SteinhardtFeb 24, 2026
  35. Lucas Seiki OshiroFeb 28, 2026
  36. Justin ToblerMar 1, 2026
  37. 0/6 builtin/repo: include largest object informationJustin Tobler, Mar 2, 2026
  38. 1/6 builtin/repo: update stats for each objectJustin Tobler, Mar 2, 2026
  39. 2/6 builtin/repo: add helper for printing keyvalue outputJustin Tobler, Mar 2, 2026
  40. Patrick SteinhardtMar 3, 2026
  41. Junio C HamanoMar 3, 2026
  42. Justin ToblerMar 3, 2026
  43. 3/6 builtin/repo: collect largest inflated objectsJustin Tobler, Mar 2, 2026
  44. Patrick SteinhardtMar 3, 2026
  45. 4/6 builtin/repo: add OID annotations to table outputJustin Tobler, Mar 2, 2026
  46. 5/6 builtin/repo: find commit with most parentsJustin Tobler, Mar 2, 2026
  47. 6/6 builtin/repo: find tree with most entriesJustin Tobler, Mar 2, 2026
  48. Junio C HamanoMar 2, 2026
  49. Junio C HamanoMar 6, 2026
  50. Justin ToblerMar 8, 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.