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

Re: [PATCH RFC v3 2/2] Move libgit.a sources into separate "lib/" directory

From
Junio C Hamano <gitster@pobox.com>
Date
Aug 11, 2026, 16:33 UTC
Message-ID
<xmqqpkzo39d2.fsf@gitster.g>
In-Reply-To
<ansSg4qsPwh5FcR9@pks.im>
Patrick Steinhardt <ps@pks.im> writes:
Show 18 quoted lines
>> ... built-in commands in 'builtin', with subsystems like 'refs' and
>> 'odb' in their own directories, and everything else at the root
>> level, I would prefer to keep that organization until a substantial
>> subsystem update wants to carve out a new location for itself, just
>> as past updates to create 'builtin', 'refs', and 'odb' did.
>> 
>> Compared to those past moves, the proposed change looks more like
>> churn for the sake of moving things around, without achieving any
>> real organizational improvement.
>> 
>> I must say that I, too, remain skeptical.
>
> My main motivation isn't prettiness though, it's newcomers to the
> project. Git is not an easy project to get started in, and the root
> cause of that of course isn't our file layout but probably rather that
> Git has been growing organically for 20 years. But the file layout
> definitely doesn't help newcomers to find their way around in the
> product.

What I gave as good examples were not motivated by prettiness, either. Moving things around to lib/ as a whole ball of wax without further classification would mean readers, whether new or old, would not benefit from neatly classified set of files that gives readers a concise and easy to understand rules like "you can visit builtin to learn about individual command implementations". To achieve a layout that makes it easier to find our way around, you'd need to move things again after moving everything into lib/. Moving to lib/ by itself does not add much value, if any. It certainly does not add any discoverability.

Previous: Patrick SteinhardtNext: Patrick Steinhardt
Message 8 of 18 in “Move libgit.a sources into separate "lib/" directory”
  1. 0/2 Move libgit.a sources into separate "lib/" directoryPatrick Steinhardt, Jul 1, 2026
  2. 1/2 t/helper: prepare "test-example-tap.c" for introduction of "lib/"Patrick Steinhardt, Jul 1, 2026
  3. 2/2 Move libgit.a sources into separate "lib/" directoryPatrick Steinhardt, Jul 1, 2026
  4. SZEDER GáborJul 13, 2026
  5. Johannes SchindelinJul 20, 2026
  6. Junio C HamanoJul 20, 2026
  7. Patrick SteinhardtAug 11, 2026
  8. Junio C HamanoAug 11, 2026
  9. Patrick SteinhardtAug 11, 2026
  10. Johannes SchindelinAug 13, 2026
  11. Junio C HamanoAug 13, 2026
  12. Michael MontalboAug 13, 2026
  13. Michael MontalboAug 14, 2026
  14. Junio C HamanoAug 17, 2026
  15. brian m. carlsonJul 20, 2026
  16. Junio C HamanoJul 20, 2026
  17. Taylor BlauJul 20, 2026
  18. Patrick SteinhardtAug 11, 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.