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

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

From
Junio C Hamano <gitster@pobox.com>
Date
Jun 22, 2026, 13:08 UTC
Message-ID
<xmqqcxxi3eov.fsf@gitster.g>
In-Reply-To
<20260622-pks-libgit-in-subdir-v2-2-cb946c51ee7b@pks.im>
Patrick Steinhardt <ps@pks.im> writes:
Show 10 quoted lines
> The Git project is not exactly the easiest project to get started in:
> it's written in C and POSIX shell, with bits of Perl, Rust and other
> languages sprinkled into it. On top of that, the project has grown
> somewhat organically over time, making the codebase hard to navigate.
>
> But there is a rather practical problem: finding your way around in our
> project's tree is not easy. Doing a directory listing in the top-level
> directory will present you with more than 550 files, which makes it
> extremely hard for a newcomer to figure out what files they are even
> supposed to look at.

Well, many things already live in the dedicated corner of their own universe, like tests in t/, builtins in builtins/, and documentation in Documentation/. This is pretty much moving everything else in a single directory lib/. Surely there are things like top-level Makefile and other build- and ci-related things that do not move to lib/ for obvious reasons, but I view this move essentially to change "for core-ish and library-ish things, look at the top level directory" to "for core-ish and library-ish things look at lib/ directory".

Would that make it easier to navigate? I am not sure. What I am sure is that this will force many in-flight topic (and soon to be in-flight because people are holding them back during the prerelease freeze period) to be updated, and it will make it harder to make fixes that can apply both to 2.55 and before and newer codebase.

So, my initial reaction is somewhat negative, but I am known to accept changes that I myself do not necessarily agree with, so...

Previous: Patrick SteinhardtNext: Patrick Steinhardt
Message 18 of 32 in “Move libgit.a sources into separate "lib/" directory”
  1. 0/2 Move libgit.a sources into separate "lib/" directoryPatrick Steinhardt, Apr 16, 2026
  2. 1/2 t/helper: prepare "test-example-tap.c" for introduction of "lib/"Patrick Steinhardt, Apr 16, 2026
  3. 2/2 Move libgit.a sources into separate "lib/" directoryPatrick Steinhardt, Apr 16, 2026
  4. Elijah NewrenApr 17, 2026
  5. brian m. carlsonApr 17, 2026
  6. Junio C HamanoApr 17, 2026
  7. brian m. carlsonApr 17, 2026
  8. Patrick SteinhardtApr 20, 2026
  9. Phillip WoodApr 19, 2026
  10. Patrick SteinhardtApr 20, 2026
  11. Derrick StoleeApr 20, 2026
  12. Patrick SteinhardtApr 21, 2026
  13. Derrick StoleeApr 21, 2026
  14. Patrick SteinhardtApr 22, 2026
  15. 0/2 Move libgit.a sources into separate "lib/" directoryPatrick Steinhardt, Jun 22, 2026
  16. 1/2 t/helper: prepare "test-example-tap.c" for introduction of "lib/"Patrick Steinhardt, Jun 22, 2026
  17. 2/2 Move libgit.a sources into separate "lib/" directoryPatrick Steinhardt, Jun 22, 2026
  18. Junio C HamanoJun 22, 2026
  19. Patrick SteinhardtJun 24, 2026
  20. Oswald BuddenhagenJun 24, 2026
  21. Johannes SchindelinJun 26, 2026
  22. Junio C HamanoJun 26, 2026
  23. Patrick SteinhardtJul 1, 2026
  24. SZEDER GáborJun 27, 2026
  25. Patrick SteinhardtJul 1, 2026
  26. Phillip WoodJul 1, 2026
  27. Junio C HamanoJul 1, 2026
  28. Patrick SteinhardtJul 2, 2026
  29. Kaartic SivaraamJul 6, 2026
  30. 0/2 Move libgit.a sources into separate "lib/" directoryPatrick Steinhardt, Jul 13, 2026
  31. 1/2 t/helper: prepare "test-example-tap.c" for introduction of "lib/"Patrick Steinhardt, Jul 13, 2026
  32. 2/2 Move libgit.a sources into separate "lib/" directoryPatrick Steinhardt, Jul 13, 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.