From: Junio C Hamano <gitster@pobox.com>
To: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Cc: "Patrick Steinhardt" <ps@pks.im>,
"SZEDER Gábor" <szeder.dev@gmail.com>,
git@vger.kernel.org,
"brian m. carlson" <sandals@crustytoothpaste.net>,
"Elijah Newren" <newren@gmail.com>,
"Derrick Stolee" <stolee@gmail.com>,
"Phillip Wood" <phillip.wood@dunelm.org.uk>
Subject: Re: [PATCH RFC v3 2/2] Move libgit.a sources into separate "lib/" directory
Date: Thu, 13 Aug 2026 07:27:21 -0700 [thread overview]
Message-ID: <xmqqqzk2t7sm.fsf@gitster.g> (raw)
In-Reply-To: <693a61b6-e762-d864-d25b-348485ec039e@gmx.de> (Johannes Schindelin's message of "Thu, 13 Aug 2026 11:34:18 +0200 (CEST)")
Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
> Of course, it would be even nicer if `lib/` was split up further, but
> then:
>
> 1) You've got to start _somewhere_. As we saw with so many things on this
> list, they never materialized because reviewers asked for too much and
> weren't happy to get incremental improvements first.
That is why moving everything to 'lib/' and thinking about the rest
later will not work. Instead, moving a specific component to a
specific subdirectory (not 'lib/') would be a reasonably
self-contained first step. Consider 'builtin/' as an example: it
is focused, and anyone can easily tell what the criterion is. If
it is the top-level cmd_foo() implementation, it goes there;
otherwise, it does not. Then, you can proceed to the second step,
and then the third. Iterate enough times, and the top level will
become thin enough that you can either make your final step a
no-op and leave the remaining files there, or create one last
group to house the hodgepodge of leftover bits and move them there.
> 2) Naming is hard. As we saw with _many_ refactorings (I am thinking about
> the low-level merge stuff as well as the ODB stuff, for example), it is
> unlikely to get the origanization right the first time. So I'd think
> that first moving the bulk of the library code to lib/ is a good start,
> and worth merging, leaving later contributions to chop off further
> parts into subdirectories of lib/.
Again, this is because you are trying to do everything at once.
Instead, come up with one clear concept, name it well, move the
related files there, and then iterate.
next prev parent reply other threads:[~2026-08-13 14:27 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-16 13:24 [PATCH RFC 0/2] Move libgit.a sources into separate "lib/" directory Patrick Steinhardt
2026-04-16 13:24 ` [PATCH RFC 1/2] t/helper: prepare "test-example-tap.c" for introduction of "lib/" Patrick Steinhardt
2026-04-16 13:24 ` [PATCH RFC 2/2] Move libgit.a sources into separate "lib/" directory Patrick Steinhardt
2026-04-17 17:08 ` Elijah Newren
2026-04-17 19:18 ` brian m. carlson
2026-04-17 21:18 ` Junio C Hamano
2026-04-17 21:51 ` brian m. carlson
2026-04-20 6:41 ` Patrick Steinhardt
2026-04-19 14:11 ` [PATCH RFC 0/2] " Phillip Wood
2026-04-20 6:41 ` Patrick Steinhardt
2026-04-20 12:03 ` Derrick Stolee
2026-04-21 5:55 ` Patrick Steinhardt
2026-04-21 14:13 ` Derrick Stolee
2026-04-22 6:39 ` Patrick Steinhardt
2026-06-22 10:38 ` [PATCH RFC v2 " Patrick Steinhardt
2026-06-22 10:38 ` [PATCH RFC v2 1/2] t/helper: prepare "test-example-tap.c" for introduction of "lib/" Patrick Steinhardt
2026-06-22 10:38 ` [PATCH RFC v2 2/2] Move libgit.a sources into separate "lib/" directory Patrick Steinhardt
2026-06-22 13:08 ` Junio C Hamano
2026-06-24 10:32 ` Patrick Steinhardt
2026-06-24 11:23 ` Oswald Buddenhagen
2026-06-26 16:01 ` Johannes Schindelin
2026-06-26 18:50 ` Junio C Hamano
2026-07-01 6:54 ` Patrick Steinhardt
2026-06-27 6:40 ` SZEDER Gábor
2026-07-01 6:55 ` Patrick Steinhardt
2026-07-01 13:26 ` Phillip Wood
2026-07-01 14:45 ` Junio C Hamano
2026-07-02 5:21 ` Patrick Steinhardt
2026-07-06 4:29 ` Kaartic Sivaraam
2026-07-01 6:59 ` [PATCH RFC v3 0/2] " Patrick Steinhardt
2026-07-01 6:59 ` [PATCH RFC v3 1/2] t/helper: prepare "test-example-tap.c" for introduction of "lib/" Patrick Steinhardt
2026-07-01 6:59 ` [PATCH RFC v3 2/2] Move libgit.a sources into separate "lib/" directory Patrick Steinhardt
2026-07-13 5:52 ` SZEDER Gábor
2026-07-20 14:24 ` Johannes Schindelin
2026-07-20 22:14 ` Junio C Hamano
2026-08-11 12:16 ` Patrick Steinhardt
2026-08-11 16:33 ` Junio C Hamano
2026-08-11 17:05 ` Patrick Steinhardt
2026-08-13 9:34 ` Johannes Schindelin
2026-08-13 14:27 ` Junio C Hamano [this message]
2026-08-13 19:04 ` Michael Montalbo
2026-07-20 21:53 ` brian m. carlson
2026-07-20 22:43 ` Junio C Hamano
2026-07-20 23:40 ` Taylor Blau
2026-08-11 12:15 ` Patrick Steinhardt
2026-07-13 5:50 ` [PATCH RFC v4 0/2] " Patrick Steinhardt
2026-07-13 5:50 ` [PATCH RFC v4 1/2] t/helper: prepare "test-example-tap.c" for introduction of "lib/" Patrick Steinhardt
2026-07-13 5:50 ` [PATCH RFC v4 2/2] Move libgit.a sources into separate "lib/" directory Patrick Steinhardt
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=xmqqqzk2t7sm.fsf@gitster.g \
--to=gitster@pobox.com \
--cc=Johannes.Schindelin@gmx.de \
--cc=git@vger.kernel.org \
--cc=newren@gmail.com \
--cc=phillip.wood@dunelm.org.uk \
--cc=ps@pks.im \
--cc=sandals@crustytoothpaste.net \
--cc=stolee@gmail.com \
--cc=szeder.dev@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.