From: "Ævar Arnfjörð Bjarmason" <firstname.lastname@example.org>
To: "Robert P. J. Day" <email@example.com>
Cc: Git Mailing list <firstname.lastname@example.org>
Subject: Re: does a new repo actually *need* default template content?
Date: Mon, 28 May 2018 19:56:12 +0200 [thread overview]
Message-ID: <email@example.com> (raw)
On Mon, May 28 2018, Robert P. J. Day wrote:
> (apologies for more pedantic nitpickery, just little things i'm
> running across in my travels. aside: i actually teach git courses, so
> it's a bit embarrassing that i don't know some of this stuff. *sigh*.)
Aside from maybe the empty branches/ directory (see c8a58ac5a5 ("Revert
"Don't create the $GIT_DIR/branches directory on init"", 2009-10-31)),
none of this is needed.
I wish we didn't create any of this stuff, but have never been inclined
to make that my hill to die on.
I think we're much better off just shipping e.g. a single README file in
hooks/, or just nothing at all.
We should at least do something different on "git init --bare than" a
plain "git clone". By a quick check I have 20MB worth of 4 thousand
copies of 36 unique variations .git/hooks versions in my local area
where I clone random stuff to, none of which uses any hooks.
I think we shouldn't do anything on --bare either, except maybe a small
README_GIT_REPOSITORY_FORMAT which would refer to
gitrepository-layout(5) and a system-wide template directory.
This might have been more useful back in the early days at a time where
it was common for git users to host their own repositories, but almost
nobody does that anymore, and if they do they're expert level users who
can just get these hooks with a "cp -R".
> running on fully-updated fedora 28 system:
> $ git --version
> git version 2.17.0
> is there anything in /usr/share/git-core/templates/ that is actually
> *essential* when initializing a new repo? this is what's in my
> directory by that name:
> ├── branches
> ├── description
> ├── hooks
> │ ├── applypatch-msg.sample
> │ ├── commit-msg.sample
> │ ├── fsmonitor-watchman.sample
> │ ├── post-update.sample
> │ ├── pre-applypatch.sample
> │ ├── pre-commit.sample
> │ ├── prepare-commit-msg.sample
> │ ├── pre-push.sample
> │ ├── pre-rebase.sample
> │ ├── pre-receive.sample
> │ └── update.sample
> └── info
> └── exclude
> but none of that above looks critically important.
> "man gitrepository-layout" describes the "branches" directory as
> "slightly deprecated", the default description file has a generic
> "Unnamed repository" message but, hey, so does the git source code
> repo itself, the hooks are all "commented out", and the info/exclude
> file effectively has no content, so i'm guessing that nothing there
> actually needs to be used to populate a new repo via "git init",
> under the circumstances, then, should it be a viable option to
> initialize a new repo while specifying you want *no* initial template
> content? it appears you can do that just by specifying a bogus
> template directory (or even /dev/null) with "--template=", but that
> generates a "warning" -- does a selection like that even merit a
> "warning" if it's clear that's what i'm trying to do?
next prev parent reply other threads:[~2018-05-28 17:56 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-05-28 13:00 does a new repo actually *need* default template content? Robert P. J. Day
2018-05-28 17:56 ` Ævar Arnfjörð Bjarmason [this message]
2018-06-01 7:06 ` Jeff King
2018-06-01 14:38 ` Santiago Torres
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:
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
* 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.
Code repositories for project(s) associated with this public inbox
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).