git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: "Drew DeVault" <sir@cmpwn.com>
To: "Junio C Hamano" <gitster@pobox.com>
Cc: <git@vger.kernel.org>
Subject: Re: Proposal: server-advertised config options
Date: Mon, 07 Sep 2020 15:23:15 -0400	[thread overview]
Message-ID: <C5HDRLX7ZPR5.1TFS72T7PBXSJ@homura> (raw)
In-Reply-To: <xmqqimcp1kvf.fsf@gitster.c.googlers.com>

On Mon Sep 7, 2020 at 2:51 PM EDT, Junio C Hamano wrote:
> Assuming I am among the guys (do you solicit opinions from gals, by
> the way?), here are a few unconnected random thoughts.

Guys is gender netural where I'm from, of course guys and gals and
anyone else are invited to comment :)

> I do not want to see this as a "server" thing. All the examples are
> "per project preference" and I do agree it would be nice to have a
> standardised way for projects to communicate their preference to
> their participants. Regardless of the hosting site I clone and
> fetch my project from, I'd want to see it communicated consistently
> to them.

The server I have in mind (git.sr.ht) is a little bit different in that
most of those examples I gave would be configured automatically on the
server side. My server software knows where your mailing list is, for
example. My goal is to try and make this as hands-off and "it just
works" as possible.

> In addition to your examples of "per project preference", there are
> projects' coding style guides, etc., that we do not enforce as git
> config at all, e.g. how wide your editors TAB and single level of
> indentation should be. It will unnecessarily narrow your view to
> assume that the kind of "per project preference" you convey from the
> project to its participants need to be the Git configuration and
> nothing else.

I think there's a difference between preferences regarding the contents
of the repository (e.g. style guide), and preferences regarding the
administration and usage of the repository itself (e.g. this feature I'm
proposing). I think the argument for integration with git is much
stronger for the latter.

> All of the above leads to a design to have a common convention
> widely shared among projects to express project preferences over
> different kind of tools, among which Git is one of them, and store
> it in a known location in the projects' trees. Most importantly,
> there must not be any Git protocol extension for doing this kind of
> thing.

Storing a file in your project tree to handle this configuration would
eliminate the "hands off" feature I was aiming for. We also have a
policy which forbids our software from making any automated changes to
the contents of your git repository - we just don't consider it
appropriate in the domain of our server software's responsibilities.

Some sort of common config file for this purpose, in-tree, would perhaps
be useful, but it would remove a lot of the value-add that I'm seeking
to provide. I already posess most of the necessary information
server-side and I can offer it to clients without any explicit
involvement from the project maintainers.

Also, the conventions for tooling-related files in-tree like this is
currently very disorganized within the ecosystem. Between .editorconfig,
.gitattributes, .github/funding.yml, a dozen CI systems, and who knows
what else, there's no common consensus on where to put files like this
or what they should look like. I think that securing consensus for this
would involve reaching out to these projects, and the scope of that
effort and the necessary follow-up developments and compatibility
planning on behalf of these projects would be...  astonishingly large.

And, ultimately, even with a common configuration, we'd end up having to
add vendor-specific extensions, for example to support the example of
push options given in the initial mail.

So, in summary, based on your suggestions this proposal could grow
10x-100x in scope and lose no small degree of the desired utility. Maybe
yours is a worthwhile idea, but it poorly solves the particular problem
I set out to solve and I lack the time/motivation to work on that
approach.

  reply	other threads:[~2020-09-07 19:45 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-07 16:52 Proposal: server-advertised config options Drew DeVault
2020-09-07 18:49 ` Christian Couder
2020-09-07 18:49   ` Drew DeVault
2020-09-07 18:51 ` Junio C Hamano
2020-09-07 19:23   ` Drew DeVault [this message]
2020-09-07 20:52     ` brian m. carlson
2020-09-08 14:14       ` Drew DeVault
2020-09-10  1:45         ` brian m. carlson
2020-09-10  4:27           ` Junio C Hamano

Reply instructions:

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:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  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 \
    --in-reply-to=C5HDRLX7ZPR5.1TFS72T7PBXSJ@homura \
    --to=sir@cmpwn.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* 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

	https://80x24.org/mirrors/git.git

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).