[PATCH 1/3] git-gui: move into "subprojects/"
From: Patrick Steinhardt <hidden>
Date: 2025-08-19 08:18:44
Subsystem:
documentation, kernel build + files below scripts/ (unless maintained elsewhere), the rest · Maintainers:
Jonathan Corbet, Nathan Chancellor, Nicolas Schier, Linus Torvalds
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 comes
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.
Signed-off-by: Patrick Steinhardt <redacted>
---
Documentation/SubmittingPatches | 2 +-
Makefile | 12 ++++++------
subprojects/.gitignore | 1 +
{git-gui => subprojects/git-gui}/.gitattributes | 0
{git-gui => subprojects/git-gui}/.gitignore | 0
{git-gui => subprojects/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 => subprojects/git-gui}/lib/branch_checkout.tcl | 0
{git-gui => subprojects/git-gui}/lib/branch_create.tcl | 0
{git-gui => subprojects/git-gui}/lib/branch_delete.tcl | 0
{git-gui => subprojects/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 => subprojects/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 => subprojects/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 => subprojects/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
89 files changed, 8 insertions(+), 7 deletions(-)
diff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches
index 86ca7f6a78a..3aca70728c7 100644
--- a/Documentation/SubmittingPatches
+++ b/Documentation/SubmittingPatches@@ -699,7 +699,7 @@ rebase when I receive your patches). Some parts of the system have dedicated maintainers with their own repositories. -- `git-gui/` comes from the git-gui project, maintained by Johannes Sixt: +- `subprojects/git-gui/` comes from the git-gui project, maintained by Johannes Sixt: https://github.com/j6t/git-gui
diff --git a/Makefile b/Makefile
index e11340c1ae7..834b79ca7ec 100644
--- a/Makefile
+++ b/Makefile@@ -2457,7 +2457,7 @@ endif all:: ifndef NO_TCLTK - $(QUIET_SUBDIR0)git-gui $(QUIET_SUBDIR1) gitexecdir='$(gitexec_instdir_SQ)' all + $(QUIET_SUBDIR0)subprojects/git-gui $(QUIET_SUBDIR1) gitexecdir='$(gitexec_instdir_SQ)' all $(QUIET_SUBDIR0)gitk-git $(QUIET_SUBDIR1) all endif $(QUIET_SUBDIR0)templates $(QUIET_SUBDIR1) SHELL_PATH='$(SHELL_PATH_SQ)' PERL_PATH='$(PERL_PATH_SQ)'
@@ -3569,7 +3569,7 @@ ifndef NO_PERL endif ifndef NO_TCLTK $(MAKE) -C gitk-git install - $(MAKE) -C git-gui gitexecdir='$(gitexec_instdir_SQ)' install + $(MAKE) -C subprojects/git-gui gitexecdir='$(gitexec_instdir_SQ)' install endif ifneq (,$X) $(foreach p,$(patsubst %$X,%,$(filter %$X,$(ALL_COMMANDS_TO_INSTALL) $(OTHER_PROGRAMS))), test '$(DESTDIR_SQ)$(gitexec_instdir_SQ)/$p' -ef '$(DESTDIR_SQ)$(gitexec_instdir_SQ)/$p$X' || $(RM) '$(DESTDIR_SQ)$(gitexec_instdir_SQ)/$p';)
@@ -3665,8 +3665,8 @@ GIT_ARCHIVE_EXTRA_FILES = \ --prefix=$(GIT_TARNAME)/ \ --add-file=configure \ --add-file=.dist-tmp-dir/version \ - --prefix=$(GIT_TARNAME)/git-gui/ \ - --add-file=.dist-tmp-dir/git-gui/version + --prefix=$(GIT_TARNAME)/subprojects/git-gui/ \ + --add-file=.dist-tmp-dir/subprojects/git-gui/version ifdef DC_SHA1_SUBMODULE GIT_ARCHIVE_EXTRA_FILES += \ --prefix=$(GIT_TARNAME)/sha1collisiondetection/ \
@@ -3681,7 +3681,7 @@ dist: git-archive$(X) configure @$(RM) -r .dist-tmp-dir @mkdir .dist-tmp-dir @echo $(GIT_VERSION) > .dist-tmp-dir/version - @$(MAKE) -C git-gui TARDIR=../.dist-tmp-dir/git-gui dist-version + @$(MAKE) -C subprojects/git-gui TARDIR=../.dist-tmp-dir/subprojects/git-gui dist-version ./git-archive --format=tar \ $(GIT_ARCHIVE_EXTRA_FILES) \ --prefix=$(GIT_TARNAME)/ HEAD^{tree} > $(GIT_TARNAME).tar
@@ -3787,7 +3787,7 @@ endif $(MAKE) -C t/ clean ifndef NO_TCLTK $(MAKE) -C gitk-git clean - $(MAKE) -C git-gui clean + $(MAKE) -C subprojects/git-gui clean endif $(RM) GIT-VERSION-FILE GIT-CFLAGS GIT-LDFLAGS GIT-BUILD-OPTIONS $(RM) GIT-USER-AGENT GIT-PREFIX
diff --git a/subprojects/.gitignore b/subprojects/.gitignore
index 63ea916ef5f..96388dbdd22 100644
--- a/subprojects/.gitignore
+++ b/subprojects/.gitignore@@ -1 +1,2 @@ /*/ +!/git-gui/
diff --git a/git-gui/.gitattributes b/subprojects/git-gui/.gitattributes
similarity index 100%
rename from git-gui/.gitattributes
rename to subprojects/git-gui/.gitattributes
diff --git a/git-gui/.gitignore b/subprojects/git-gui/.gitignore
similarity index 100%
rename from git-gui/.gitignore
rename to subprojects/git-gui/.gitignore
diff --git a/git-gui/GIT-GUI-BUILD-OPTIONS.in b/subprojects/git-gui/GIT-GUI-BUILD-OPTIONS.in
similarity index 100%
rename from git-gui/GIT-GUI-BUILD-OPTIONS.in
rename to subprojects/git-gui/GIT-GUI-BUILD-OPTIONS.in
diff --git a/git-gui/GIT-VERSION-GEN b/subprojects/git-gui/GIT-VERSION-GEN
similarity index 100%
rename from git-gui/GIT-VERSION-GEN
rename to subprojects/git-gui/GIT-VERSION-GEN
diff --git a/git-gui/Makefile b/subprojects/git-gui/Makefile
similarity index 100%
rename from git-gui/Makefile
rename to subprojects/git-gui/Makefile
diff --git a/git-gui/README.md b/subprojects/git-gui/README.md
similarity index 100%
rename from git-gui/README.md
rename to subprojects/git-gui/README.md
diff --git a/git-gui/generate-git-gui.sh b/subprojects/git-gui/generate-git-gui.sh
similarity index 100%
rename from git-gui/generate-git-gui.sh
rename to subprojects/git-gui/generate-git-gui.sh
diff --git a/git-gui/generate-script.sh b/subprojects/git-gui/generate-script.sh
similarity index 100%
rename from git-gui/generate-script.sh
rename to subprojects/git-gui/generate-script.sh
diff --git a/git-gui/generate-tclindex.sh b/subprojects/git-gui/generate-tclindex.sh
similarity index 100%
rename from git-gui/generate-tclindex.sh
rename to subprojects/git-gui/generate-tclindex.sh
diff --git a/git-gui/git-gui--askpass.sh b/subprojects/git-gui/git-gui--askpass.sh
similarity index 100%
rename from git-gui/git-gui--askpass.sh
rename to subprojects/git-gui/git-gui--askpass.sh
diff --git a/git-gui/git-gui.sh b/subprojects/git-gui/git-gui.sh
similarity index 100%
rename from git-gui/git-gui.sh
rename to subprojects/git-gui/git-gui.sh
diff --git a/git-gui/lib/about.tcl b/subprojects/git-gui/lib/about.tcl
similarity index 100%
rename from git-gui/lib/about.tcl
rename to subprojects/git-gui/lib/about.tcl
diff --git a/git-gui/lib/blame.tcl b/subprojects/git-gui/lib/blame.tcl
similarity index 100%
rename from git-gui/lib/blame.tcl
rename to subprojects/git-gui/lib/blame.tcl
diff --git a/git-gui/lib/branch.tcl b/subprojects/git-gui/lib/branch.tcl
similarity index 100%
rename from git-gui/lib/branch.tcl
rename to subprojects/git-gui/lib/branch.tcl
diff --git a/git-gui/lib/branch_checkout.tcl b/subprojects/git-gui/lib/branch_checkout.tcl
similarity index 100%
rename from git-gui/lib/branch_checkout.tcl
rename to subprojects/git-gui/lib/branch_checkout.tcl
diff --git a/git-gui/lib/branch_create.tcl b/subprojects/git-gui/lib/branch_create.tcl
similarity index 100%
rename from git-gui/lib/branch_create.tcl
rename to subprojects/git-gui/lib/branch_create.tcl
diff --git a/git-gui/lib/branch_delete.tcl b/subprojects/git-gui/lib/branch_delete.tcl
similarity index 100%
rename from git-gui/lib/branch_delete.tcl
rename to subprojects/git-gui/lib/branch_delete.tcl
diff --git a/git-gui/lib/branch_rename.tcl b/subprojects/git-gui/lib/branch_rename.tcl
similarity index 100%
rename from git-gui/lib/branch_rename.tcl
rename to subprojects/git-gui/lib/branch_rename.tcl
diff --git a/git-gui/lib/browser.tcl b/subprojects/git-gui/lib/browser.tcl
similarity index 100%
rename from git-gui/lib/browser.tcl
rename to subprojects/git-gui/lib/browser.tcl
diff --git a/git-gui/lib/checkout_op.tcl b/subprojects/git-gui/lib/checkout_op.tcl
similarity index 100%
rename from git-gui/lib/checkout_op.tcl
rename to subprojects/git-gui/lib/checkout_op.tcl
diff --git a/git-gui/lib/choose_font.tcl b/subprojects/git-gui/lib/choose_font.tcl
similarity index 100%
rename from git-gui/lib/choose_font.tcl
rename to subprojects/git-gui/lib/choose_font.tcl
diff --git a/git-gui/lib/choose_repository.tcl b/subprojects/git-gui/lib/choose_repository.tcl
similarity index 100%
rename from git-gui/lib/choose_repository.tcl
rename to subprojects/git-gui/lib/choose_repository.tcl
diff --git a/git-gui/lib/choose_rev.tcl b/subprojects/git-gui/lib/choose_rev.tcl
similarity index 100%
rename from git-gui/lib/choose_rev.tcl
rename to subprojects/git-gui/lib/choose_rev.tcl
diff --git a/git-gui/lib/chord.tcl b/subprojects/git-gui/lib/chord.tcl
similarity index 100%
rename from git-gui/lib/chord.tcl
rename to subprojects/git-gui/lib/chord.tcl
diff --git a/git-gui/lib/class.tcl b/subprojects/git-gui/lib/class.tcl
similarity index 100%
rename from git-gui/lib/class.tcl
rename to subprojects/git-gui/lib/class.tcl
diff --git a/git-gui/lib/commit.tcl b/subprojects/git-gui/lib/commit.tcl
similarity index 100%
rename from git-gui/lib/commit.tcl
rename to subprojects/git-gui/lib/commit.tcl
diff --git a/git-gui/lib/console.tcl b/subprojects/git-gui/lib/console.tcl
similarity index 100%
rename from git-gui/lib/console.tcl
rename to subprojects/git-gui/lib/console.tcl
diff --git a/git-gui/lib/database.tcl b/subprojects/git-gui/lib/database.tcl
similarity index 100%
rename from git-gui/lib/database.tcl
rename to subprojects/git-gui/lib/database.tcl
diff --git a/git-gui/lib/date.tcl b/subprojects/git-gui/lib/date.tcl
similarity index 100%
rename from git-gui/lib/date.tcl
rename to subprojects/git-gui/lib/date.tcl
diff --git a/git-gui/lib/diff.tcl b/subprojects/git-gui/lib/diff.tcl
similarity index 100%
rename from git-gui/lib/diff.tcl
rename to subprojects/git-gui/lib/diff.tcl
diff --git a/git-gui/lib/encoding.tcl b/subprojects/git-gui/lib/encoding.tcl
similarity index 100%
rename from git-gui/lib/encoding.tcl
rename to subprojects/git-gui/lib/encoding.tcl
diff --git a/git-gui/lib/error.tcl b/subprojects/git-gui/lib/error.tcl
similarity index 100%
rename from git-gui/lib/error.tcl
rename to subprojects/git-gui/lib/error.tcl
diff --git a/git-gui/lib/git-gui.ico b/subprojects/git-gui/lib/git-gui.ico
similarity index 100%
rename from git-gui/lib/git-gui.ico
rename to subprojects/git-gui/lib/git-gui.ico
diff --git a/git-gui/lib/index.tcl b/subprojects/git-gui/lib/index.tcl
similarity index 100%
rename from git-gui/lib/index.tcl
rename to subprojects/git-gui/lib/index.tcl
diff --git a/git-gui/lib/line.tcl b/subprojects/git-gui/lib/line.tcl
similarity index 100%
rename from git-gui/lib/line.tcl
rename to subprojects/git-gui/lib/line.tcl
diff --git a/git-gui/lib/logo.tcl b/subprojects/git-gui/lib/logo.tcl
similarity index 100%
rename from git-gui/lib/logo.tcl
rename to subprojects/git-gui/lib/logo.tcl
diff --git a/git-gui/lib/merge.tcl b/subprojects/git-gui/lib/merge.tcl
similarity index 100%
rename from git-gui/lib/merge.tcl
rename to subprojects/git-gui/lib/merge.tcl
diff --git a/git-gui/lib/mergetool.tcl b/subprojects/git-gui/lib/mergetool.tcl
similarity index 100%
rename from git-gui/lib/mergetool.tcl
rename to subprojects/git-gui/lib/mergetool.tcl
diff --git a/git-gui/lib/meson.build b/subprojects/git-gui/lib/meson.build
similarity index 100%
rename from git-gui/lib/meson.build
rename to subprojects/git-gui/lib/meson.build
diff --git a/git-gui/lib/option.tcl b/subprojects/git-gui/lib/option.tcl
similarity index 100%
rename from git-gui/lib/option.tcl
rename to subprojects/git-gui/lib/option.tcl
diff --git a/git-gui/lib/remote.tcl b/subprojects/git-gui/lib/remote.tcl
similarity index 100%
rename from git-gui/lib/remote.tcl
rename to subprojects/git-gui/lib/remote.tcl
diff --git a/git-gui/lib/remote_add.tcl b/subprojects/git-gui/lib/remote_add.tcl
similarity index 100%
rename from git-gui/lib/remote_add.tcl
rename to subprojects/git-gui/lib/remote_add.tcl
diff --git a/git-gui/lib/remote_branch_delete.tcl b/subprojects/git-gui/lib/remote_branch_delete.tcl
similarity index 100%
rename from git-gui/lib/remote_branch_delete.tcl
rename to subprojects/git-gui/lib/remote_branch_delete.tcl
diff --git a/git-gui/lib/search.tcl b/subprojects/git-gui/lib/search.tcl
similarity index 100%
rename from git-gui/lib/search.tcl
rename to subprojects/git-gui/lib/search.tcl
diff --git a/git-gui/lib/shortcut.tcl b/subprojects/git-gui/lib/shortcut.tcl
similarity index 100%
rename from git-gui/lib/shortcut.tcl
rename to subprojects/git-gui/lib/shortcut.tcl
diff --git a/git-gui/lib/spellcheck.tcl b/subprojects/git-gui/lib/spellcheck.tcl
similarity index 100%
rename from git-gui/lib/spellcheck.tcl
rename to subprojects/git-gui/lib/spellcheck.tcl
diff --git a/git-gui/lib/sshkey.tcl b/subprojects/git-gui/lib/sshkey.tcl
similarity index 100%
rename from git-gui/lib/sshkey.tcl
rename to subprojects/git-gui/lib/sshkey.tcl
diff --git a/git-gui/lib/status_bar.tcl b/subprojects/git-gui/lib/status_bar.tcl
similarity index 100%
rename from git-gui/lib/status_bar.tcl
rename to subprojects/git-gui/lib/status_bar.tcl
diff --git a/git-gui/lib/themed.tcl b/subprojects/git-gui/lib/themed.tcl
similarity index 100%
rename from git-gui/lib/themed.tcl
rename to subprojects/git-gui/lib/themed.tcl
diff --git a/git-gui/lib/tools.tcl b/subprojects/git-gui/lib/tools.tcl
similarity index 100%
rename from git-gui/lib/tools.tcl
rename to subprojects/git-gui/lib/tools.tcl
diff --git a/git-gui/lib/tools_dlg.tcl b/subprojects/git-gui/lib/tools_dlg.tcl
similarity index 100%
rename from git-gui/lib/tools_dlg.tcl
rename to subprojects/git-gui/lib/tools_dlg.tcl
diff --git a/git-gui/lib/transport.tcl b/subprojects/git-gui/lib/transport.tcl
similarity index 100%
rename from git-gui/lib/transport.tcl
rename to subprojects/git-gui/lib/transport.tcl
diff --git a/git-gui/lib/win32.tcl b/subprojects/git-gui/lib/win32.tcl
similarity index 100%
rename from git-gui/lib/win32.tcl
rename to subprojects/git-gui/lib/win32.tcl
diff --git a/git-gui/lib/win32_shortcut.js b/subprojects/git-gui/lib/win32_shortcut.js
similarity index 100%
rename from git-gui/lib/win32_shortcut.js
rename to subprojects/git-gui/lib/win32_shortcut.js
diff --git a/git-gui/meson.build b/subprojects/git-gui/meson.build
similarity index 100%
rename from git-gui/meson.build
rename to subprojects/git-gui/meson.build
diff --git a/git-gui/po/.gitignore b/subprojects/git-gui/po/.gitignore
similarity index 100%
rename from git-gui/po/.gitignore
rename to subprojects/git-gui/po/.gitignore
diff --git a/git-gui/po/README b/subprojects/git-gui/po/README
similarity index 100%
rename from git-gui/po/README
rename to subprojects/git-gui/po/README
diff --git a/git-gui/po/bg.po b/subprojects/git-gui/po/bg.po
similarity index 100%
rename from git-gui/po/bg.po
rename to subprojects/git-gui/po/bg.po
diff --git a/git-gui/po/de.po b/subprojects/git-gui/po/de.po
similarity index 100%
rename from git-gui/po/de.po
rename to subprojects/git-gui/po/de.po
diff --git a/git-gui/po/el.po b/subprojects/git-gui/po/el.po
similarity index 100%
rename from git-gui/po/el.po
rename to subprojects/git-gui/po/el.po
diff --git a/git-gui/po/fr.po b/subprojects/git-gui/po/fr.po
similarity index 100%
rename from git-gui/po/fr.po
rename to subprojects/git-gui/po/fr.po
diff --git a/git-gui/po/glossary/Makefile b/subprojects/git-gui/po/glossary/Makefile
similarity index 100%
rename from git-gui/po/glossary/Makefile
rename to subprojects/git-gui/po/glossary/Makefile
diff --git a/git-gui/po/glossary/bg.po b/subprojects/git-gui/po/glossary/bg.po
similarity index 100%
rename from git-gui/po/glossary/bg.po
rename to subprojects/git-gui/po/glossary/bg.po
diff --git a/git-gui/po/glossary/de.po b/subprojects/git-gui/po/glossary/de.po
similarity index 100%
rename from git-gui/po/glossary/de.po
rename to subprojects/git-gui/po/glossary/de.po
diff --git a/git-gui/po/glossary/el.po b/subprojects/git-gui/po/glossary/el.po
similarity index 100%
rename from git-gui/po/glossary/el.po
rename to subprojects/git-gui/po/glossary/el.po
diff --git a/git-gui/po/glossary/fr.po b/subprojects/git-gui/po/glossary/fr.po
similarity index 100%
rename from git-gui/po/glossary/fr.po
rename to subprojects/git-gui/po/glossary/fr.po
diff --git a/git-gui/po/glossary/git-gui-glossary.pot b/subprojects/git-gui/po/glossary/git-gui-glossary.pot
similarity index 100%
rename from git-gui/po/glossary/git-gui-glossary.pot
rename to subprojects/git-gui/po/glossary/git-gui-glossary.pot
diff --git a/git-gui/po/glossary/git-gui-glossary.txt b/subprojects/git-gui/po/glossary/git-gui-glossary.txt
similarity index 100%
rename from git-gui/po/glossary/git-gui-glossary.txt
rename to subprojects/git-gui/po/glossary/git-gui-glossary.txt
diff --git a/git-gui/po/glossary/it.po b/subprojects/git-gui/po/glossary/it.po
similarity index 100%
rename from git-gui/po/glossary/it.po
rename to subprojects/git-gui/po/glossary/it.po
diff --git a/git-gui/po/glossary/pt_br.po b/subprojects/git-gui/po/glossary/pt_br.po
similarity index 100%
rename from git-gui/po/glossary/pt_br.po
rename to subprojects/git-gui/po/glossary/pt_br.po
diff --git a/git-gui/po/glossary/pt_pt.po b/subprojects/git-gui/po/glossary/pt_pt.po
similarity index 100%
rename from git-gui/po/glossary/pt_pt.po
rename to subprojects/git-gui/po/glossary/pt_pt.po
diff --git a/git-gui/po/glossary/txt-to-pot.sh b/subprojects/git-gui/po/glossary/txt-to-pot.sh
similarity index 100%
rename from git-gui/po/glossary/txt-to-pot.sh
rename to subprojects/git-gui/po/glossary/txt-to-pot.sh
diff --git a/git-gui/po/glossary/zh_cn.po b/subprojects/git-gui/po/glossary/zh_cn.po
similarity index 100%
rename from git-gui/po/glossary/zh_cn.po
rename to subprojects/git-gui/po/glossary/zh_cn.po
diff --git a/git-gui/po/hu.po b/subprojects/git-gui/po/hu.po
similarity index 100%
rename from git-gui/po/hu.po
rename to subprojects/git-gui/po/hu.po
diff --git a/git-gui/po/it.po b/subprojects/git-gui/po/it.po
similarity index 100%
rename from git-gui/po/it.po
rename to subprojects/git-gui/po/it.po
diff --git a/git-gui/po/ja.po b/subprojects/git-gui/po/ja.po
similarity index 100%
rename from git-gui/po/ja.po
rename to subprojects/git-gui/po/ja.po
diff --git a/git-gui/po/meson.build b/subprojects/git-gui/po/meson.build
similarity index 100%
rename from git-gui/po/meson.build
rename to subprojects/git-gui/po/meson.build
diff --git a/git-gui/po/nb.po b/subprojects/git-gui/po/nb.po
similarity index 100%
rename from git-gui/po/nb.po
rename to subprojects/git-gui/po/nb.po
diff --git a/git-gui/po/po2msg.sh b/subprojects/git-gui/po/po2msg.sh
similarity index 100%
rename from git-gui/po/po2msg.sh
rename to subprojects/git-gui/po/po2msg.sh
diff --git a/git-gui/po/pt_br.po b/subprojects/git-gui/po/pt_br.po
similarity index 100%
rename from git-gui/po/pt_br.po
rename to subprojects/git-gui/po/pt_br.po
diff --git a/git-gui/po/pt_pt.po b/subprojects/git-gui/po/pt_pt.po
similarity index 100%
rename from git-gui/po/pt_pt.po
rename to subprojects/git-gui/po/pt_pt.po
diff --git a/git-gui/po/ru.po b/subprojects/git-gui/po/ru.po
similarity index 100%
rename from git-gui/po/ru.po
rename to subprojects/git-gui/po/ru.po
diff --git a/git-gui/po/sv.po b/subprojects/git-gui/po/sv.po
similarity index 100%
rename from git-gui/po/sv.po
rename to subprojects/git-gui/po/sv.po
diff --git a/git-gui/po/vi.po b/subprojects/git-gui/po/vi.po
similarity index 100%
rename from git-gui/po/vi.po
rename to subprojects/git-gui/po/vi.po
diff --git a/git-gui/po/zh_cn.po b/subprojects/git-gui/po/zh_cn.po
similarity index 100%
rename from git-gui/po/zh_cn.po
rename to subprojects/git-gui/po/zh_cn.po
diff --git a/git-gui/windows/git-gui.sh b/subprojects/git-gui/windows/git-gui.sh
similarity index 100%
rename from git-gui/windows/git-gui.sh
rename to subprojects/git-gui/windows/git-gui.sh
--
2.51.0.261.g7ce5a0a67e.dirty