From: Ævar Arnfjörð Bjarmason <firstname.lastname@example.org> To: Marc Branchaud <email@example.com> Cc: Junio C Hamano <firstname.lastname@example.org>, Git <email@example.com> Subject: Re: RFC: Supporting .git/hooks/$NAME.d/* && /etc/git/hooks/$NAME.d/* Date: Tue, 26 Apr 2016 18:09:34 +0200 Message-ID: <CACBZZX6CRBQ5qOBdwamqJMz+_QU-cmVfA7iLTyjOCYentjxfirstname.lastname@example.org> (raw) In-Reply-To: <571F6FB5.email@example.com> On Tue, Apr 26, 2016 at 3:40 PM, Marc Branchaud <firstname.lastname@example.org> wrote: > On 2016-04-26 06:58 AM, Ævar Arnfjörð Bjarmason wrote: >> >> Makes sense to have an experimental.* config tree for git for stuff like this. > > I disagree. > > * If the point is to express some kind of warning to users, I think the > community has been much better served by leaving experimental settings > undocumented (or documented only in unmerged topic branches). It feels like > an experimental.* tree is a doorway to putting experimental features in > official releases, which seems odd considering that (IMHO) git has so far > done very well with the carefully-planned-out integration of all sorts of > features. > > * Part of the experiment is coming up with appropriate configuration knobs, > including where those knobs should live. Often such considerations lead to a > better implementation for the feature. Dumping things into an experimental.* > tree would merely postpone that part of the feature's design. > > * Such a tree creates a flag day when the experimental feature eventually > becomes a "real" feature. That'll annoy any early adopters. Sure, they > *should* be prepared to deal with config tree bike-shedding, but still that > extra churn seems unnecessary. By "stuff like this", yeah I did mean, and I assume Junio means, putting "experimental" features in official releases. E.g. perl does this, if you type "perldoc experimental" on a Linux box you'll get the documentation. Basically you can look at patches to a project on a spectrum of: 1. You hacked something up locally 2. It's in someone's *.git repo as a POC 3. It's a third-party patch series used by a bunch of people 4. In an official release but documented as experimental 5. In an official release as a first-rate feature Something like an experimental.WHATEVER=bool flag provides #4. I think aside from this feature just leaving these things undocumented really provides the worst of both worlds. Now you have some feature that's undocumented *because* you're not sure about it, but you can't ever be sure about it unless people actually use it, and if it's not documented at all effectively it's as visible as some third-party patch series. I.e. only people really involved in the project will ever use it. Which is why perl has the "experimental" subsystem, it allows for playing around with features the maintainers aren't quite sure about in official releases, and the users know they're opting in to trying something unstable that may go away or have its semantics changed from under them.
next prev parent reply index Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top 2016-04-22 23:51 Ævar Arnfjörð Bjarmason 2016-04-25 17:45 ` Junio C Hamano 2016-04-26 10:58 ` Ævar Arnfjörð Bjarmason 2016-04-26 13:40 ` Marc Branchaud 2016-04-26 16:09 ` Ævar Arnfjörð Bjarmason [this message] 2016-04-26 17:52 ` Christian Couder 2016-04-26 21:09 ` Marc Branchaud 2016-04-26 21:52 ` 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=CACBZZX6CRBQ5qOBdwamqJMz+_QU-cmVfA7iLTyjOCYentjxemail@example.com \ --firstname.lastname@example.org \ --email@example.com \ --firstname.lastname@example.org \ --email@example.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
firstname.lastname@example.org list mirror (unofficial, one of many) Archives are clonable: git clone --mirror https://public-inbox.org/git git clone --mirror http://ou63pmih66umazou.onion/git git clone --mirror http://czquwvybam4bgbro.onion/git git clone --mirror http://hjrcffqmbrq6wope.onion/git Example config snippet for mirrors Newsgroups are available over NNTP: nntp://news.public-inbox.org/inbox.comp.version-control.git nntp://ou63pmih66umazou.onion/inbox.comp.version-control.git nntp://czquwvybam4bgbro.onion/inbox.comp.version-control.git nntp://hjrcffqmbrq6wope.onion/inbox.comp.version-control.git nntp://news.gmane.io/gmane.comp.version-control.git note: .onion URLs require Tor: https://www.torproject.org/ AGPL code for this site: git clone https://public-inbox.org/public-inbox.git