git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: What's cooking in git.git (Feb 2026, #03)

From
Patrick Steinhardt <ps@pks.im>
Date
Feb 10, 2026, 13:26 UTC
Message-ID
<aYsyBPZfDHMnYy5s@pks.im>
In-Reply-To
<c29e0c1d-337c-4411-8d52-07c9155e8abe@ramsayjones.plus.com>
On Mon, Feb 09, 2026 at 07:41:30PM +0000, Ramsay Jones wrote:
Show 43 quoted lines
> 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.

Show 25 quoted lines
> 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
Previous: Ramsay JonesNext: Ramsay Jones
Message 8 of 10 in “What's cooking in git.git (Feb 2026, #03)”
  1. Junio C HamanoFeb 7, 2026
  2. Kristoffer HaugsbakkFeb 8, 2026
  3. brian m. carlsonFeb 8, 2026
  4. Junio C HamanoFeb 9, 2026
  5. Patrick SteinhardtFeb 9, 2026
  6. Junio C HamanoFeb 9, 2026
  7. Ramsay JonesFeb 9, 2026
  8. Patrick SteinhardtFeb 10, 2026
  9. Ramsay JonesFeb 10, 2026
  10. Adrian RatiuFeb 9, 2026

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.