[PATCH 0/3] meson: wire up gitk and git-gui
From: Patrick Steinhardt <hidden>
Date: 2025-08-19 08:18:41
Hi, I have upstreamed support for Meson into both gitk [1] and git-gui [2]. This small patch series wires up support in Git. To the best of my knowledge this is the last missing piece for feature compatibility with our Makefile. As such, from my point of view, I think that we can stop treating the Meson build system as experimental and instead officially endorse it. Once merged I'll thus send another patch series that updates our documentation in various different places to also mention how to build Git with Meson. Thanks! Patrick [1]: https://github.com/j6t/gitk/pull/8 [2]: https://github.com/j6t/git-gui/pull/9 --- Patrick Steinhardt (3): git-gui: move into "subprojects/" gitk: move into "subprojects/" meson: wire up gitk and git-gui Documentation/SubmittingPatches | 4 ++-- Documentation/gitk.adoc | 2 +- Makefile | 18 +++++++++--------- meson.build | 14 ++++++++++++++ meson_options.txt | 4 ++++ subprojects/.gitignore | 2 ++ {git-gui => subprojects/git-gui}/.gitattributes | 0 {git-gui => subprojects/git-gui}/.gitignore | 0 .../git-gui}/GIT-GUI-BUILD-OPTIONS.in | 0 {git-gui => subprojects/git-gui}/GIT-VERSION-GEN | 0 {git-gui => subprojects/git-gui}/Makefile | 0 {git-gui => subprojects/git-gui}/README.md | 0 {git-gui => subprojects/git-gui}/generate-git-gui.sh | 0 {git-gui => subprojects/git-gui}/generate-script.sh | 0 {git-gui => subprojects/git-gui}/generate-tclindex.sh | 0 {git-gui => subprojects/git-gui}/git-gui--askpass.sh | 0 {git-gui => subprojects/git-gui}/git-gui.sh | 0 {git-gui => subprojects/git-gui}/lib/about.tcl | 0 {git-gui => subprojects/git-gui}/lib/blame.tcl | 0 {git-gui => subprojects/git-gui}/lib/branch.tcl | 0 .../git-gui}/lib/branch_checkout.tcl | 0 .../git-gui}/lib/branch_create.tcl | 0 .../git-gui}/lib/branch_delete.tcl | 0 .../git-gui}/lib/branch_rename.tcl | 0 {git-gui => subprojects/git-gui}/lib/browser.tcl | 0 {git-gui => subprojects/git-gui}/lib/checkout_op.tcl | 0 {git-gui => subprojects/git-gui}/lib/choose_font.tcl | 0 .../git-gui}/lib/choose_repository.tcl | 0 {git-gui => subprojects/git-gui}/lib/choose_rev.tcl | 0 {git-gui => subprojects/git-gui}/lib/chord.tcl | 0 {git-gui => subprojects/git-gui}/lib/class.tcl | 0 {git-gui => subprojects/git-gui}/lib/commit.tcl | 0 {git-gui => subprojects/git-gui}/lib/console.tcl | 0 {git-gui => subprojects/git-gui}/lib/database.tcl | 0 {git-gui => subprojects/git-gui}/lib/date.tcl | 0 {git-gui => subprojects/git-gui}/lib/diff.tcl | 0 {git-gui => subprojects/git-gui}/lib/encoding.tcl | 0 {git-gui => subprojects/git-gui}/lib/error.tcl | 0 {git-gui => subprojects/git-gui}/lib/git-gui.ico | Bin {git-gui => subprojects/git-gui}/lib/index.tcl | 0 {git-gui => subprojects/git-gui}/lib/line.tcl | 0 {git-gui => subprojects/git-gui}/lib/logo.tcl | 0 {git-gui => subprojects/git-gui}/lib/merge.tcl | 0 {git-gui => subprojects/git-gui}/lib/mergetool.tcl | 0 {git-gui => subprojects/git-gui}/lib/meson.build | 0 {git-gui => subprojects/git-gui}/lib/option.tcl | 0 {git-gui => subprojects/git-gui}/lib/remote.tcl | 0 {git-gui => subprojects/git-gui}/lib/remote_add.tcl | 0 .../git-gui}/lib/remote_branch_delete.tcl | 0 {git-gui => subprojects/git-gui}/lib/search.tcl | 0 {git-gui => subprojects/git-gui}/lib/shortcut.tcl | 0 {git-gui => subprojects/git-gui}/lib/spellcheck.tcl | 0 {git-gui => subprojects/git-gui}/lib/sshkey.tcl | 0 {git-gui => subprojects/git-gui}/lib/status_bar.tcl | 0 {git-gui => subprojects/git-gui}/lib/themed.tcl | 0 {git-gui => subprojects/git-gui}/lib/tools.tcl | 0 {git-gui => subprojects/git-gui}/lib/tools_dlg.tcl | 0 {git-gui => subprojects/git-gui}/lib/transport.tcl | 0 {git-gui => subprojects/git-gui}/lib/win32.tcl | 0 .../git-gui}/lib/win32_shortcut.js | 0 {git-gui => subprojects/git-gui}/meson.build | 0 {git-gui => subprojects/git-gui}/po/.gitignore | 0 {git-gui => subprojects/git-gui}/po/README | 0 {git-gui => subprojects/git-gui}/po/bg.po | 0 {git-gui => subprojects/git-gui}/po/de.po | 0 {git-gui => subprojects/git-gui}/po/el.po | 0 {git-gui => subprojects/git-gui}/po/fr.po | 0 {git-gui => subprojects/git-gui}/po/glossary/Makefile | 0 {git-gui => subprojects/git-gui}/po/glossary/bg.po | 0 {git-gui => subprojects/git-gui}/po/glossary/de.po | 0 {git-gui => subprojects/git-gui}/po/glossary/el.po | 0 {git-gui => subprojects/git-gui}/po/glossary/fr.po | 0 .../git-gui}/po/glossary/git-gui-glossary.pot | 0 .../git-gui}/po/glossary/git-gui-glossary.txt | 0 {git-gui => subprojects/git-gui}/po/glossary/it.po | 0 {git-gui => subprojects/git-gui}/po/glossary/pt_br.po | 0 {git-gui => subprojects/git-gui}/po/glossary/pt_pt.po | 0 .../git-gui}/po/glossary/txt-to-pot.sh | 0 {git-gui => subprojects/git-gui}/po/glossary/zh_cn.po | 0 {git-gui => subprojects/git-gui}/po/hu.po | 0 {git-gui => subprojects/git-gui}/po/it.po | 0 {git-gui => subprojects/git-gui}/po/ja.po | 0 {git-gui => subprojects/git-gui}/po/meson.build | 0 {git-gui => subprojects/git-gui}/po/nb.po | 0 {git-gui => subprojects/git-gui}/po/po2msg.sh | 0 {git-gui => subprojects/git-gui}/po/pt_br.po | 0 {git-gui => subprojects/git-gui}/po/pt_pt.po | 0 {git-gui => subprojects/git-gui}/po/ru.po | 0 {git-gui => subprojects/git-gui}/po/sv.po | 0 {git-gui => subprojects/git-gui}/po/vi.po | 0 {git-gui => subprojects/git-gui}/po/zh_cn.po | 0 {git-gui => subprojects/git-gui}/windows/git-gui.sh | 0 {gitk-git => subprojects/gitk}/.gitignore | 0 {gitk-git => subprojects/gitk}/Makefile | 0 {gitk-git => subprojects/gitk}/generate-tcl.sh | 0 {gitk-git => subprojects/gitk}/gitk | 0 {gitk-git => subprojects/gitk}/meson.build | 0 {gitk-git => subprojects/gitk}/po/.gitignore | 0 {gitk-git => subprojects/gitk}/po/bg.po | 0 {gitk-git => subprojects/gitk}/po/ca.po | 0 {gitk-git => subprojects/gitk}/po/de.po | 0 {gitk-git => subprojects/gitk}/po/es.po | 0 {gitk-git => subprojects/gitk}/po/fr.po | 0 {gitk-git => subprojects/gitk}/po/hu.po | 0 {gitk-git => subprojects/gitk}/po/it.po | 0 {gitk-git => subprojects/gitk}/po/ja.po | 0 {gitk-git => subprojects/gitk}/po/meson.build | 0 {gitk-git => subprojects/gitk}/po/po2msg.sh | 0 {gitk-git => subprojects/gitk}/po/pt_br.po | 0 {gitk-git => subprojects/gitk}/po/pt_pt.po | 0 {gitk-git => subprojects/gitk}/po/ru.po | 0 {gitk-git => subprojects/gitk}/po/sv.po | 0 {gitk-git => subprojects/gitk}/po/ta.po | 0 {gitk-git => subprojects/gitk}/po/vi.po | 0 {gitk-git => subprojects/gitk}/po/zh_cn.po | 0 115 files changed, 32 insertions(+), 12 deletions(-) --- base-commit: c44beea485f0f2feaf460e2ac87fdd5608d63cf0 change-id: 20250703-b4-pks-meson-tcl-tk-bb75616c8048