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

Re: [PATCH 3/5] make git-bugreport a builtin

From
Jeff King <peff@peff.net>
Date
Aug 13, 2020, 17:38 UTC
Message-ID
<20200813173845.GA1598703@coredump.intra.peff.net>
In-Reply-To
<f576fdce-9005-4653-3f91-0ddd2fff125d@gmail.com>
On Thu, Aug 13, 2020 at 01:01:42PM -0400, Derrick Stolee wrote:
Show 14 quoted lines
> On 8/13/2020 10:59 AM, Jeff King wrote:
> > There's no reason that bugreport has to be a separate binary. And since
> > it links against libgit.a, it has a rather large disk footprint. Let's
> > make it a builtin, which reduces the size of a stripped installation
> > from 24MB to 22MB.
> > 
> > This also simplifies our Makefile a bit. And we can take advantage of
> > builtin niceties like RUN_SETUP_GENTLY.
> 
> I agree that this is a good change. I'm a bit surprised that a
> feature added so recently wasn't added as a builtin in the first
> place. Perhaps that was a conscious decision? Maybe it was just
> because there was some point in time where it might have been
> relegated to contrib.

I looked in the history for any rationale, but couldn't find any. There is some discussion in the list, though. It looks like we moved from a builtin to standalone between v3 and v4 of the series, due to this sub-thread:

  https://lore.kernel.org/git/xmqqr2284is5.fsf@gitster-ct.c.googlers.com/
My take is:
  - I agree with Johannes that in terms of resource usage, builtins are
    better. I'm skeptical that extra code within the Git binary produces
    a meaningful impact on running other builtins (but I'd be happy to
    look at evidence if somebody has it).
  - Adding shared-library dependencies definitely _does_ impact other
    builtin commands. And I think last November when the series was
    shaping up that it wasn't clear if we might link to system-specific
    data gathering libraries. But that wasn't how the series shook out;
    we gather very little general system info, and we do it with basic
    and lightweight techniques (like uname, or compiler preprocessor
    macros). That could change eventually of course, but it's not like
    switching back to a stand-alone at that point is a big deal.
-Peff
Previous: Derrick StoleeNext: Junio C Hamano
Message 17 of 36 in “slimming down installed size”
  1. 0/5 slimming down installed sizeJeff King, Aug 13, 2020
  2. 1/5 Makefile: drop builtins from MSVC pdb listJeff King, Aug 13, 2020
  3. Taylor BlauAug 13, 2020
  4. Jeff KingAug 13, 2020
  5. Derrick StoleeAug 13, 2020
  6. Jeff KingAug 13, 2020
  7. Johannes SchindelinAug 14, 2020
  8. Jeff KingAug 14, 2020
  9. Johannes SchindelinAug 17, 2020
  10. Jeff HostetlerAug 17, 2020
  11. 2/5 make credential helpers builtinsJeff King, Aug 13, 2020
  12. Taylor BlauAug 13, 2020
  13. Jeff KingAug 13, 2020
  14. Junio C HamanoAug 13, 2020
  15. 3/5 make git-bugreport a builtinJeff King, Aug 13, 2020
  16. Derrick StoleeAug 13, 2020
  17. Jeff KingAug 13, 2020
  18. Junio C HamanoAug 13, 2020
  19. Junio C HamanoAug 13, 2020
  20. Jeff KingAug 14, 2020
  21. Johannes SchindelinAug 14, 2020
  22. Jeff KingAug 14, 2020
  23. Junio C HamanoAug 13, 2020
  24. Johannes SchindelinAug 14, 2020
  25. Jeff KingAug 15, 2020
  26. Emily ShafferAug 17, 2020
  27. Junio C HamanoAug 17, 2020
  28. Jeff KingAug 17, 2020
  29. Emily ShafferAug 17, 2020
  30. 4/5 make git-fast-import a builtinJeff King, Aug 13, 2020
  31. 5/5 drop vcs-svn experimentJeff King, Aug 13, 2020
  32. Taylor BlauAug 13, 2020
  33. Jeff KingAug 13, 2020
  34. Johannes SchindelinAug 14, 2020
  35. Jeff KingAug 14, 2020
  36. Taylor BlauAug 13, 2020

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.