]> git.ipfire.org Git - thirdparty/git.git/commit
Makefile: simplify building of templates
authorPatrick Steinhardt <ps@pks.im>
Fri, 6 Dec 2024 13:24:52 +0000 (14:24 +0100)
committerJunio C Hamano <gitster@pobox.com>
Fri, 6 Dec 2024 22:52:12 +0000 (07:52 +0900)
commited060aa0a35f5d0e201af45c6a32c405db4c2654
treed33ff3f2e75ce01e972469f50d23d5727fa05079
parentd2407bb8dc4bd7f0fb508e69d7ae49d0dfbf3b8b
Makefile: simplify building of templates

When we install Git we also install a set of default templates that both
git-init(1) and git-clone(1) populate into our build directories. The
way the pristine templates are laid out in our source directory is
somewhat weird though: instead of reconstructing the actual directory
hierarchy in "templates/", we represent directory separators with "--".

The only reason I could come up with for why we have this is the
"branches/" directory, which is supposed to be empty when installing it.
And as Git famously doesn't store empty directories at all we have to
work around this limitation.

Now the thing is that the "branches/" directory is a leftover to how
branches used to be stored in the dark ages. gitrepository-layout(5)
lists this directory as "slightly deprecated", which I would claim is a
strong understatement. I have never encountered anybody using it today
and would be surprised if it even works as expected. So having the "--"
hack in place for an item that is basically unused, unmaintained and
deprecated doesn't only feel unreasonable, but installing that entry by
default may also cause confusion for users that do not know what this is
supposed to be in the first place.

Remove this directory from our templates and, now that we do not require
the workaround anymore, restructure the templates to form a proper
hierarchy. This makes it way easier for build systems to install these
templates into place.

We should likely think about removing support for "branch/" altogether,
but that is outside of the scope of this patch series.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
19 files changed:
contrib/buildsystems/CMakeLists.txt
templates/Makefile
templates/branches-- [deleted file]
templates/description [moved from templates/this--description with 100% similarity]
templates/hooks/applypatch-msg.sample [moved from templates/hooks--applypatch-msg.sample with 100% similarity]
templates/hooks/commit-msg.sample [moved from templates/hooks--commit-msg.sample with 100% similarity]
templates/hooks/fsmonitor-watchman.sample [moved from templates/hooks--fsmonitor-watchman.sample with 100% similarity]
templates/hooks/post-update.sample [moved from templates/hooks--post-update.sample with 100% similarity]
templates/hooks/pre-applypatch.sample [moved from templates/hooks--pre-applypatch.sample with 100% similarity]
templates/hooks/pre-commit.sample [moved from templates/hooks--pre-commit.sample with 100% similarity]
templates/hooks/pre-merge-commit.sample [moved from templates/hooks--pre-merge-commit.sample with 100% similarity]
templates/hooks/pre-push.sample [moved from templates/hooks--pre-push.sample with 100% similarity]
templates/hooks/pre-rebase.sample [moved from templates/hooks--pre-rebase.sample with 100% similarity]
templates/hooks/pre-receive.sample [moved from templates/hooks--pre-receive.sample with 100% similarity]
templates/hooks/prepare-commit-msg.sample [moved from templates/hooks--prepare-commit-msg.sample with 100% similarity]
templates/hooks/push-to-checkout.sample [moved from templates/hooks--push-to-checkout.sample with 100% similarity]
templates/hooks/sendemail-validate.sample [moved from templates/hooks--sendemail-validate.sample with 100% similarity]
templates/hooks/update.sample [moved from templates/hooks--update.sample with 100% similarity]
templates/info/exclude [moved from templates/info--exclude with 100% similarity]