All of lore.kernel.org
 help / color / mirror / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: Jeff King <peff@peff.net>
Cc: Jacob Keller <jacob.e.keller@intel.com>, git@vger.kernel.org
Subject: Re: [PATCH 3/3 v5] tag: support configuring --sort via .gitconfig
Date: Fri, 11 Jul 2014 14:54:25 -0700	[thread overview]
Message-ID: <xmqqmwcf36jy.fsf@gitster.dls.corp.google.com> (raw)
In-Reply-To: <20140711174628.GC7856@sigill.intra.peff.net> (Jeff King's message of "Fri, 11 Jul 2014 13:46:28 -0400")

Jeff King <peff@peff.net> writes:

> On Fri, Jul 11, 2014 at 10:24:07AM -0700, Jacob Keller wrote:
>
>> Updated to include changes due to Junio's feedback. This has not resolved
>> whether we should fail on a configuration error or simply warn. It appears that
>> we actually seem to error out more than warn, so I am unsure what the correct
>> action is here.
>
> Yeah, we're quite inconsistent there. In some cases we silently ignore
> something unknown (e.g., a color.diff.* slot that we do not understand),
> but in most cases if it is a config key we understand but a value we do
> not, we complain and die.

Hm, that's bad---we've become less and less careful over time,
perhaps?

As we want to be able to enhance semantics of existing configuration
variables without having to introduce new but similar ones, we would
really want to make sure that those who share the same .git/config
or $HOME/.gitconfig across different versions of Git would not have
to suffer too much (i.e. forcing them to "config --unset" when using
their older Git is not nice).

> It's probably user-unfriendly to be silent for those cases, though. The
> user gets no feedback on why their config value is doing nothing.
>
> I tend to think that warning is not much better than erroring out. It is
> helpful if you are running a single-shot of an old version (which is
> something that I do a lot when testing old versions), but would quickly
> become irritating if you were actually using an old version of git
> day-to-day.
>
> I dunno. Maybe it is worth making life easier for people in the former
> category.

... "former cat" meaning "less irritating for single-shot use"?  I
dunno...

>> +static int parse_sort_string(const char *arg, int *sort)
>> +{
>> +	int type = 0, flags = 0;
>> +
>> +	if (skip_prefix(arg, "-", &arg))
>> +		flags |= REVERSE_SORT;
>> +
>> +	if (skip_prefix(arg, "version:", &arg) || skip_prefix(arg, "v:", &arg))
>> +		type = VERCMP_SORT;
>> +	else
>> +		type = STRCMP_SORT;
>> +
>> +	if (strcmp(arg, "refname"))
>> +		return error(_("unsupported sort specification %s"), arg);
>> +
>> +	*sort = (type | flags);
>> +
>> +	return 0;
>> +}
>
> Regardless of how we handle the error, I think this version that
> assembles the final bitfield at the end is easier to read than the
> original.

Yes, this part really is nicely done, I agree.

  parent reply	other threads:[~2014-07-11 21:54 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-07-11 17:24 [PATCH 1/3] tag: use skip_prefix instead of magic numbers Jacob Keller
2014-07-11 17:24 ` [PATCH 2/3] tag: fix --sort tests to use cat<<-\EOF format Jacob Keller
2014-07-11 17:24 ` [PATCH 3/3 v5] tag: support configuring --sort via .gitconfig Jacob Keller
2014-07-11 17:46   ` Jeff King
2014-07-11 18:11     ` Keller, Jacob E
2014-07-11 18:22       ` Jeff King
2014-07-11 20:36         ` Keller, Jacob E
2014-07-11 21:54     ` Junio C Hamano [this message]
2014-07-11 22:12       ` Keller, Jacob E
2014-07-12  1:17       ` Jeff King
2014-07-13 17:01         ` Junio C Hamano
2014-07-14 22:08           ` Keller, Jacob E
2014-07-11 17:50 ` [PATCH 1/3] tag: use skip_prefix instead of magic numbers Jeff King
2014-07-11 18:04   ` Keller, Jacob E
2014-07-11 18:42   ` 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

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=xmqqmwcf36jy.fsf@gitster.dls.corp.google.com \
    --to=gitster@pobox.com \
    --cc=git@vger.kernel.org \
    --cc=jacob.e.keller@intel.com \
    --cc=peff@peff.net \
    /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.