From: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
To: Felipe Contreras <felipe.contreras@gmail.com>
Cc: "Đoàn Trần Công Danh" <congdanhqx@gmail.com>, git@vger.kernel.org
Subject: Re: The git spring cleanup challenge
Date: Fri, 02 Jul 2021 13:43:52 +0200 [thread overview]
Message-ID: <87zgv59bm8.fsf@evledraar.gmail.com> (raw)
In-Reply-To: <60dee69fb7cc7_2964b208fb@natae.notmuch>
On Fri, Jul 02 2021, Felipe Contreras wrote:
> Ævar Arnfjörð Bjarmason wrote:
>> On Thu, Jun 03 2021, Felipe Contreras wrote:
>> > Ævar Arnfjörð Bjarmason wrote:
>
>> >> We could then just extend the include syntax rather easily to include
>> >> "libraries", which would be like the current include.path, but would
>> >> understand a library:: prefix (better name bikeshedding welcome). We'd
>> >> then just ship these in /usr/share/git-core/config/includes or whatever,
>> >> e.g. /usr/share/git-core/config/includes/aliases/svn-like.cfg
>> >
>> > I wouldn't be against some some suggested defaults, but *in addition* to
>> > some hardcoded default aliases that are documented.
>>
>> I'm talking about in terms of the flexibility of implementation of
>> on-by-default defaults. We could implement it as I suggested and then
>> just have a core.defaultIncludes, which would by default be set to
>> git::aliases/svn-like.cfg or whatever, i.e. equivalent to:
>>
>> [core]
>> defaultIncludes = "git::default.cfg"
>>
>> Which itself would include a
>> /usr/share/git-core/config/includes/default.cfg which would do:
>
> I really gave this a try, but the problem is that git doesn't even have
> a stardard location to install shared files.
>
> I started with $sharedir, but that's not git-specific. Then I added
> $gitsharedir which required a bunch of changes to the Makefile, and
> eventually I decided against it.
>
> We don't have standard location for shared files. Period.
>
>> In a way this is total bikeshedding, I just think it's worth doing it
>> this way up-front.
>
> Yes, maybe so, but git infraestructure is completely unprepared for that
> (at this point).
>
> So I just decied to hard-code them [1]
>
> [1] https://lore.kernel.org/git/20210702100506.1422429-1-felipe.contreras@gmail.com/
FWIW I only saw this reply after I replied in that thread
... referencing this one.
I haven't tried, but I'd think it wouldn't be a big change. You're
injecting alias.* config directly, you could just inject an
include.path=* in the relevant part of the config machinery instead.
We'd need a new verb like gitdir:* and onbranch:*, maybe system:* or
git:*, we'd then search system:foo.cfg for those relative to our libexec
or /usr/share data, e.g. /usr/lib/git-core/config/foo.cfg
We could then carry those in includes/* in the git.git repo, and to
address the "let's make sure they're there" have a trivial build step
like the command-list.h to build those into a C object. I.e. dog-food on
our own build process and run `git config -f <file> -l -z` for each one,
munge that and spew it into a *.c
file. I.e. include/aliases/svn-like.cfg or whatever.
Then when we can't find a system:* (or whatever it's called)
handle_path_include() we'd consult that list of fallbacks.
I'm not saying it's trivial, just that I think in practice building
consensus for a "one blessed list of hardcoded aliases" is going to be a
very tough sell, and making it optional/configurable/pluggable might
make that sell a lot easier.
next prev parent reply other threads:[~2021-07-02 11:52 UTC|newest]
Thread overview: 55+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-06-01 6:24 The git spring cleanup challenge Felipe Contreras
2021-06-01 7:28 ` Andy
2021-06-01 10:07 ` Felipe Contreras
2021-06-01 7:47 ` Đoàn Trần Công Danh
2021-06-01 10:48 ` Felipe Contreras
2021-06-01 11:40 ` Đoàn Trần Công Danh
2021-06-01 12:21 ` Felipe Contreras
2021-06-01 12:28 ` Đoàn Trần Công Danh
2021-06-01 13:14 ` Felipe Contreras
2021-06-02 4:13 ` Đoàn Trần Công Danh
2021-06-02 4:53 ` Felipe Contreras
2021-06-03 8:03 ` Ævar Arnfjörð Bjarmason
2021-06-03 10:06 ` Felipe Contreras
2021-06-03 10:49 ` Sergey Organov
2021-06-03 12:18 ` Ævar Arnfjörð Bjarmason
2021-07-02 10:12 ` Felipe Contreras
2021-07-02 11:43 ` Ævar Arnfjörð Bjarmason [this message]
2021-07-02 21:54 ` Felipe Contreras
2021-06-01 21:56 ` David Aguilar
2021-06-01 22:28 ` Junio C Hamano
2021-06-01 22:49 ` Junio C Hamano
2021-06-01 23:44 ` Felipe Contreras
2021-06-02 6:47 ` Johannes Sixt
2021-06-02 6:53 ` Felipe Contreras
2021-06-02 11:00 ` Junio C Hamano
2021-06-02 11:24 ` Felipe Contreras
2021-06-02 11:44 ` Đoàn Trần Công Danh
2021-06-02 18:13 ` Johannes Sixt
2021-06-01 23:12 ` Felipe Contreras
2021-06-02 12:13 ` Sergey Organov
2021-06-03 3:00 ` Junio C Hamano
2021-06-03 10:00 ` Sergey Organov
2021-06-01 22:33 ` Sergey Organov
2021-06-01 23:19 ` Felipe Contreras
2021-06-02 12:19 ` Sergey Organov
2021-06-02 21:28 ` Felipe Contreras
2021-06-02 22:05 ` Sergey Organov
2021-06-02 22:33 ` Felipe Contreras
2021-06-02 23:09 ` Sergey Organov
2021-06-03 0:06 ` Junio C Hamano
2021-06-03 0:48 ` Felipe Contreras
2021-06-03 0:26 ` Elijah Newren
2021-06-03 1:36 ` Felipe Contreras
2021-06-03 4:25 ` Elijah Newren
2021-06-03 9:52 ` Felipe Contreras
2021-06-03 9:48 ` Sergey Organov
2021-06-02 3:43 ` Bagas Sanjaya
2021-06-02 3:59 ` Felipe Contreras
2021-06-03 8:15 ` Ævar Arnfjörð Bjarmason
2021-06-03 11:09 ` Felipe Contreras
2021-06-03 12:31 ` Ævar Arnfjörð Bjarmason
2021-06-03 14:28 ` Phillip Wood
2021-06-03 16:44 ` Ævar Arnfjörð Bjarmason
2021-06-04 10:24 ` Phillip Wood
2021-06-03 17:28 ` Felipe Contreras
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=87zgv59bm8.fsf@evledraar.gmail.com \
--to=avarab@gmail.com \
--cc=congdanhqx@gmail.com \
--cc=felipe.contreras@gmail.com \
--cc=git@vger.kernel.org \
/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).