From: Patrick Steinhardt <ps@pks.im>
To: Ramsay Jones <ramsay@ramsayjones.plus.com>
Cc: Junio C Hamano <gitster@pobox.com>, git@vger.kernel.org
Subject: Re: What's cooking in git.git (Feb 2026, #03)
Date: Tue, 10 Feb 2026 14:26:28 +0100 [thread overview]
Message-ID: <aYsyBPZfDHMnYy5s@pks.im> (raw)
In-Reply-To: <c29e0c1d-337c-4411-8d52-07c9155e8abe@ramsayjones.plus.com>
On Mon, Feb 09, 2026 at 07:41:30PM +0000, Ramsay Jones wrote:
> On 09/02/2026 9:14 am, Patrick Steinhardt wrote:
> > On Sat, Feb 07, 2026 at 03:15:51PM -0800, Junio C Hamano wrote:
> [snip]
> >
> >> * ps/meson-gitk-git-gui (2026-02-04) 1 commit
> >> - meson: wire up gitk and git-gui
> >>
> >> Plumb gitk/git-gui build and install procedure in meson based
> >> builds.
> >>
> >> Expecting a reroll.
> >> source: <20260204-b4-pks-meson-tcl-tk-v2-1-5bc3ccf3a8ce@pks.im>
> >
> > Probably makes more sense to say that this is waiting on a pull request
> > of gitk, as the patch series itself doesn't need to change.
> >
>
> So, I should probably wait until Junio pulls from Johannes Sixt, but as it stands
> on the seen branch (@203d64cf67), I have warning against 'git-gui' on Linux (but
> not cygwin). On Linux, I see:
>
> $ cat build/meson-logs/meson-log.txt
> ...
> Executing subproject git-gui
>
> Project name: git-gui
> Project version: undefined
> Program sh found: YES (/usr/bin/sh)
> Program tclsh found: YES (/usr/bin/tclsh)
> Program wish found: YES (/usr/bin/wish)
> Configuring GIT-GUI-BUILD-OPTIONS using configuration
> Program msgfmt found: YES (/usr/bin/msgfmt)
> Build targets in project: 694
> NOTICE: Future-deprecated features used:
> * 0.64.0: {'copy arg in configure_file'}
> Subproject git-gui finished.
> ...
> $
>
> Note that on cygwin I don't get the warning and the number of build targets
> is 693, rather than 694 (I don't know if that's relevant). Also the version
> of meson on linux is 1.3.2, but on cygwin is 1.5.2 (so, I would have thought
> that the deprecation warning would also appear on cygwin! ;) ).
If I remember correctly this particular deprecation was rolled back
eventually. *goes double checking* Yup, it's been deprecated in Meson
0.64.0, but that deprecation has been rolled back in 0c802d260 (remove
deprecation warning for `configure_file` kwarg 'copy', 2024-05-24),
released as part of Meson 1.5.0.
So I'm not sure whether this really needs addressing. We _could_ make
this conditional and use `fs.copyfile()` on Meson newer or equal to
0.63.0 and older than 1.5.0. But whether that's worth it... dunno.
Probably not.
> The make and meson builds appear very similar, although some paths and version
> numbers differ:
>
> $ diff build/subprojects/git-gui/git-gui git-gui/git-gui
> 1c1
> < #!/usr/bin/sh
> ---
> > #!/bin/sh
> 6c6
> < echo 'git-gui version 0.21.GITGUI'; \
> ---
> > echo 'git-gui version 0.21.0.257.g1a729'; \
> 10c10
> < exec '/usr/bin/wish' "$argv0" -- "$@"
> ---
> > exec 'wish' "$argv0" -- "$@"
> 12c12
> < set appvers {0.21.GITGUI}
> ---
> > set appvers {0.21.0.257.g1a729}
> 378c378
> < set _shellpath {/usr/bin/sh}
> ---
> > set _shellpath {/bin/sh}
> $
I guess the /bin/sh thing is something I'll want to address so that we
prefer "/bin/sh" over "/usr/bin/sh". We did the same fix in Git itself
eventually. The wish shell feels sensible though, I don't think we need
to fix that part.
The version thing is actually a bug. The problem is that we have started
to set GIT_CEILING_DIRECTORIES, but we set it to the directory of
git-gui itself. That of course works as long as git-gui is compiled
standalone, but doesn't work anymore in case git-gui is embedded as a
subproject.
So why does it work for our Makefile? That's because we define the
SOURCE_DIR as ".", and as a result we define the ceiling directory as
"./..". And that seems to not restrict our discovery process. I don't
really know why that is, to be honest.
I have created [1] to address these issues. Thanks for testing!
Patrick
[1]: https://github.com/j6t/git-gui/pull/31
next prev parent reply other threads:[~2026-02-10 13:26 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-07 23:15 What's cooking in git.git (Feb 2026, #03) Junio C Hamano
2026-02-08 21:13 ` Kristoffer Haugsbakk
2026-02-08 23:10 ` brian m. carlson
2026-02-09 0:55 ` Junio C Hamano
2026-02-09 9:14 ` Patrick Steinhardt
2026-02-09 16:37 ` Junio C Hamano
2026-02-09 19:41 ` Ramsay Jones
2026-02-10 13:26 ` Patrick Steinhardt [this message]
2026-02-10 19:06 ` Ramsay Jones
2026-02-09 9:52 ` Adrian Ratiu
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=aYsyBPZfDHMnYy5s@pks.im \
--to=ps@pks.im \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=ramsay@ramsayjones.plus.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox