From: Patrick Steinhardt <ps@pks.im>
To: Junio C Hamano <gitster@pobox.com>
Cc: "Phillip Wood" <phillip.wood123@gmail.com>,
"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 v2 2/2] Move libgit.a sources into separate "lib/" directory
Date: Thu, 2 Jul 2026 07:21:16 +0200 [thread overview]
Message-ID: <akX1TMoRr87Id8Ss@pks.im> (raw)
In-Reply-To: <xmqq1pdmrcp6.fsf@gitster.g>
On Wed, Jul 01, 2026 at 07:45:09AM -0700, Junio C Hamano wrote:
> Phillip Wood <phillip.wood123@gmail.com> writes:
>
> > As I said last time this came up, I don't really buy the discoverability
> > argument because there are just as many files to trawl through to find
> > what you're looking through and now there is an extra directory to
> > check. I think the solution to that is to recommend folks use "git grep"
> > or ctags etc. not moving code to a new directory.
>
> Hear, hear. Also it would be great if we can trick some talented
> technical writer into writing the "map" of the source so that by
> reading this one or two pager, any new person with reasonable
> competence will know how things are partitioned into pieces and how
> these pieces fit together. I wonder how good LLMs are these days?
> ;-)
This isn't about discoverability of the library files though, I
specifically want to improve discoverability of all the other files that
we have in our root directory. So yes, I fully agree that this change
does not help to make that one file that is part of our library easier
to find.
> > I do however think putting all the library code in a subdirectory makes
> > it easier to say things like "please try to avoid new uses of
> > 'the_repository' and prefer 'error()' over 'die()' in library code"
> > because all the library code is in the same directory. I think that is a
> > much stronger selling point.
>
> Yes. "library code (things outside the subdirectories) should not
> use X" would work just fine, though.
That rule doesn't quite work:
- We have several C files that are not library files and that are in
the top-level directory. For example "scalar.c" or "shell.c".
- We have several C files that are part of the library and that are in
a subdirectory. For example "compat/", "refs/", "odb/".
So having this properly cleaned up would help to have clear indicators
what component a given file belongs to.
> > Another cost is remembering things have moved - the other day I spent
> > too long wondering why "git show origin/seen:wt-status.c" wasn't working
> > until I ran "git log origin/seen" and realized it had move to
> > lib/wt-status.c.
>
> Yes, this has bit me multiple dozen times, as the tip of 'seen' is
> contaminated with this rename, already. It is a huge pain.
Yeah, this one I don't have any arguments against besides a very
hand-wavy "it'll get better over time" :)
Thanks!
Patrick
next prev parent reply other threads:[~2026-07-02 5:21 UTC|newest]
Thread overview: 32+ 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 [this message]
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
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=akX1TMoRr87Id8Ss@pks.im \
--to=ps@pks.im \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=newren@gmail.com \
--cc=phillip.wood123@gmail.com \
--cc=phillip.wood@dunelm.org.uk \
--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.