From: Tanay Abhra <tanayabh@gmail.com>
To: Junio C Hamano <gitster@pobox.com>,
Matthieu Moy <Matthieu.Moy@grenoble-inp.fr>
Cc: git@vger.kernel.org, Ramkumar Ramachandra <artagnon@gmail.com>
Subject: Re: [PATCH 5/7] enforce `xfuncname` precedence over `funcname`
Date: Fri, 25 Jul 2014 00:59:56 +0530 [thread overview]
Message-ID: <53D15EB4.1050303@gmail.com> (raw)
In-Reply-To: <xmqqppgu8sxz.fsf@gitster.dls.corp.google.com>
On 7/25/2014 12:50 AM, Junio C Hamano wrote:
> Matthieu Moy <Matthieu.Moy@grenoble-inp.fr> writes:
>
>> Tanay Abhra <tanayabh@gmail.com> writes:
>>
>>> For core the only test failing was xfuncname vs funcname,
>>
>> Being a little pessimistic: there may be other cases where the hashtable
>> magically gives the right order for existing tests, but that would fail
>> for untested use-cases.
>>
>> But I can't think of any such case.
>>
>>> so the situation is not as bad as you think. One course of action
>>> would be leave git_config() as it is, so that third party apps
>>> may not be broken. Provide a function like git_config_cache(),
>>> then rename all the git_config() calls in core to git_config_cache(),
>>> fallback to git_config() where it is not applicable (for example,
>>> git config -l).
>>
>> I think Junio's point about "git config -l" is correct: we should just
>> keep git_config_raw there.
>
> I have a slight preference of making git_config() do the right thing
> and take advantage of caching behaviour, to be honest. How much
> extra effort is necessary in your code to carry a piece of
> information, in addition to what lets you say "here are the values
> associated with that key in the order we read from the files", in
> order to be able to say "by the way, here is the order of key-value
> pairs, if you want to show everything we read in the same order"?
> If it would be excessive, using _raw() could be an easy way to punt,
> but because we know it is easy to decide to punt, I'd like to see us
> see if a real solution is feasible first before punting.
>
I am thinking over it, lets see if there is a way before we take the
easy route.
>>> Also can you name any third party apps that use the git_config()
>>> system on which I can test the patches.
>>
>> There are probably tons of. I can think of git-multimail.
>
> This question does not really matter.
>
> Among the various points, I actually think the last one you omitted
> from your quote, closing door to one useful way to fix UI mistakes
> in the future, is the most serious one.
>
If we take the easy way out, fixing UI mistakes would be easier,
just replace git_config_cache() with git_config_raw() for such cases.
next prev parent reply other threads:[~2014-07-24 19:30 UTC|newest]
Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-07-23 18:42 [PATCH 0/7] Rewrite `git_config()` using config-set API Tanay Abhra
2014-07-23 18:42 ` [PATCH 1/7] config.c: fix accuracy of line number in errors Tanay Abhra
2014-07-23 21:49 ` Junio C Hamano
2014-07-24 13:33 ` Tanay Abhra
2014-07-24 18:31 ` Junio C Hamano
2014-07-24 18:40 ` Tanay Abhra
2014-07-24 18:49 ` Matthieu Moy
2014-07-23 18:42 ` [PATCH 2/7] rewrite git_config() to use the config-set API Tanay Abhra
2014-07-23 19:55 ` Matthieu Moy
2014-07-23 19:58 ` Matthieu Moy
2014-07-23 21:58 ` Junio C Hamano
2014-07-24 6:43 ` Matthieu Moy
2014-07-23 18:42 ` [PATCH 3/7] add a test for semantic errors in config files Tanay Abhra
2014-07-23 19:55 ` Matthieu Moy
2014-07-23 22:11 ` Junio C Hamano
2014-07-24 13:56 ` Tanay Abhra
2014-07-24 14:05 ` Matthieu Moy
2014-07-24 16:41 ` Junio C Hamano
2014-07-23 18:42 ` [PATCH 4/7] add line number and file name info to `config_set` Tanay Abhra
2014-07-23 22:24 ` Junio C Hamano
2014-07-23 18:42 ` [PATCH 5/7] enforce `xfuncname` precedence over `funcname` Tanay Abhra
2014-07-23 20:05 ` Matthieu Moy
2014-07-23 21:04 ` Eric Sunshine
2014-07-23 22:34 ` Junio C Hamano
2014-07-24 6:39 ` Matthieu Moy
2014-07-24 17:09 ` Junio C Hamano
2014-07-24 18:33 ` Tanay Abhra
2014-07-24 18:47 ` Matthieu Moy
2014-07-24 19:04 ` John Keeping
2014-07-24 19:20 ` Junio C Hamano
2014-07-24 19:29 ` Tanay Abhra [this message]
2014-07-24 19:54 ` Junio C Hamano
2014-07-24 21:22 ` Ramsay Jones
2014-07-25 3:16 ` Tanay Abhra
2014-07-25 6:54 ` Matthieu Moy
2014-07-25 17:09 ` Junio C Hamano
2014-07-25 17:45 ` Matthieu Moy
2014-07-25 18:55 ` Junio C Hamano
2014-07-23 18:42 ` [PATCH 6/7] config: add `git_die_config()` to the config-set API Tanay Abhra
2014-07-23 18:42 ` [PATCH 7/7] Add tests for `git_config_get_string()` Tanay Abhra
2014-07-23 20:08 ` Matthieu Moy
2014-07-23 19:38 ` [PATCH 0/7] Rewrite `git_config()` using config-set API Matthieu Moy
2014-07-23 21:44 ` Junio C Hamano
2014-07-24 15:04 ` Tanay Abhra
2014-07-24 15:39 ` Matthieu Moy
2014-07-24 15:59 ` Tanay Abhra
2014-07-24 16:17 ` Matthieu Moy
2014-07-24 20:03 ` Junio C Hamano
2014-07-24 15:06 ` [PATCH v12 1/2] add `config_set` API for caching config-like files Tanay Abhra
2014-07-24 18:41 ` Junio C Hamano
2014-07-24 15:09 ` [PATCH v12 2/2] test-config: add tests for the config_set API Tanay Abhra
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=53D15EB4.1050303@gmail.com \
--to=tanayabh@gmail.com \
--cc=Matthieu.Moy@grenoble-inp.fr \
--cc=artagnon@gmail.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.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.