Re: [PATCH 1/3] git-gui: move into "subprojects/"
From: Karthik Nayak <hidden>
Date: 2025-08-19 09:36:27
Patrick Steinhardt [off-list ref] writes:
The "git-gui" project has recently gained support for being built with
Meson, but it is not yet wired up in Git's own Meson build instructions.
"git-gui" itself is wired up as a standalone project, which means that
we can trivially make it available via `subproject("git-gui")`.
So far the theory. In practice thoguh the `subproject()` function comess/thoguh/though
with a couple of limitations. Most importantly, all subprojects need to
be contained in the same directory, and that directory cannot be the
top-level directory of the parent project. Right now we use the default
subproject directory ("subprojects/") for a couple of fallbacks in case
some important dependencies couldn't be found.
This means that we cannot just include the "git-gui" directory as a
subproject as it lives in our root directory. There are three options:
- We move "git-gui" into "subprojects/". It requires a bit of churn,
but should otherwise not have any significant downsides.
- We create a symlink pointing from "subprojects/git-gui" to the
top-level directory. This may not work on Windows.
- We can create a "git-gui.wrap" file that knows to pull a specific
commit from upstream and build it. This would mean that Meson and
Makefiles now have different sources of truth for which version of
"git-gui" we build.
The first option feels like the most sensible solution. It creates churn
and requires us to adapt the pull-request workflow a bit. But this
should be a one-time cost.
In theory we could also rename the "subprojects/" directory by passing
the "subproject_dir" argument to our `project()` call. But the name
feels quite fitting for our purpose, as well.Okay makes sense. The most significant changes are in the top three files and make sense. [snip]
Attachments
- signature.asc [application/pgp-signature] 690 bytes