public inbox for git@vger.kernel.org
 help / color / mirror / Atom feed
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

  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