All of lore.kernel.org
 help / color / mirror / Atom feed
From: Matthieu Moy <Matthieu.Moy@grenoble-inp.fr>
To: Junio C Hamano <gitster@pobox.com>
Cc: Tanay Abhra <tanayabh@gmail.com>, git@vger.kernel.org
Subject: Re: [PATCH/RFC 5/5] add tests for checking the behaviour of "unset.variable"
Date: Fri, 03 Oct 2014 21:49:28 +0200	[thread overview]
Message-ID: <vpq4mvlgchj.fsf@anie.imag.fr> (raw)
In-Reply-To: <xmqq1tqpm2na.fsf@gitster.dls.corp.google.com> (Junio C. Hamano's message of "Fri, 03 Oct 2014 11:25:29 -0700")

Junio C Hamano <gitster@pobox.com> writes:

> The "git config [--add] section.var value" UI, [...] finds the "var = value"
> definition at the end (or adds a "section" at the end and then adds
> [...]
>
> It is fine for single-valued ones that follow "the last one wins"
> semantics; "git config" would add the new definition at the end and
> that definition will win.

Not always.

git config foo.bar old-value
git config unset.variable foo.bar
git config foo.bar new-value

One could expect the new value to be taken into account, but it is not.

>> Well, the normal use-case for unset.variable is to put it in a local
>> config file, to unset a variable set in another, lower-priority file.
>
> I agree that is one major use case.
>
>> This common use-case works with the command-line "git config", and it
>> would be a pity to forbid the common use-case because of a particular,
>> unusual case.
>
> Either you are being incoherent or I am not reading you right.  If
> you said "If this common use-case worked with the command-line 'git
> config', it would be nice, but it would be a pity because it does
> not", I would understand.

I think you missed the "another" in my sentence above. The normal
use-case is to have foo.bar and unset.variable=foo.bar in different
files. In this case, you do not care about the position in file.

> in a repository whose .git/config does not have any unset.variable,
> you will add that _at the end_, which would undo what you did in
> your configuration file, not just what came before yours.  Even if
> you ignore more exotic cases, the command line is *not* working.

If my sysadmin has set foo.bar=boz in /etc/gitconfig, I can use

  git config [--global] unset.variable foo.bar

and it does work. Always.

Playing with the order of variables in-file is essentially useless OTOH
except for the include case you mentionned (if I want to unset a
variable in a file, I'll just delete or comment out the variable and I
don't need unset.variable).

Really, I don't see the point in making any complex plans to support the
useless part of the unset.variable feature. The reason it was designed
for already works, and $EDITOR does the job for other cases.

-- 
Matthieu Moy
http://www-verimag.imag.fr/~moy/

  parent reply	other threads:[~2014-10-03 19:49 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-10-02 13:24 [PATCH/RFC 0/5] add "unset.variable" for unsetting previously set variables Tanay Abhra
2014-10-02 13:24 ` [PATCH/RFC 1/5] config.c : move configset_iter() to an appropriate position Tanay Abhra
2014-10-02 13:24 ` [PATCH/RFC 2/5] make git_config_with_options() to use a configset Tanay Abhra
2014-10-02 13:24 ` [PATCH/RFC 3/5] add "unset.variable" for unsetting previously set variables Tanay Abhra
2014-10-02 13:24 ` [PATCH/RFC 4/5] document the new "unset.variable" variable Tanay Abhra
2014-10-02 13:24 ` [PATCH/RFC 5/5] add tests for checking the behaviour of "unset.variable" Tanay Abhra
2014-10-02 20:09   ` Junio C Hamano
2014-10-02 20:18     ` Tanay Abhra
2014-10-02 20:23       ` Junio C Hamano
2014-10-02 20:35         ` Tanay Abhra
2014-10-02 23:38           ` Junio C Hamano
2014-10-03  7:01             ` Matthieu Moy
2014-10-03 18:25               ` Junio C Hamano
2014-10-03 18:48                 ` Junio C Hamano
2014-10-03 19:49                 ` Matthieu Moy [this message]
2014-10-03 20:12                   ` Junio C Hamano
2014-10-06 18:59                     ` Tanay Abhra
2014-10-06 19:28                       ` Junio C Hamano
2014-10-06 19:43                         ` Tanay Abhra
2014-10-02 19:29 ` [PATCH/RFC 0/5] add "unset.variable" for unsetting previously set variables Junio C Hamano
2014-10-02 20:41   ` Jeff King
2014-10-02 19:58 ` Junio C Hamano
2014-10-07 11:17   ` Jakub Narębski
2014-10-07 16:44     ` Junio C Hamano
2014-10-08  5:46       ` Matthieu Moy
2014-10-08 17:14         ` Junio C Hamano
2014-10-08 18:37           ` Matthieu Moy
2014-10-08 19:52             ` Junio C Hamano
2014-10-10  8:11               ` Jeff King
2014-10-13 18:21                 ` 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=vpq4mvlgchj.fsf@anie.imag.fr \
    --to=matthieu.moy@grenoble-inp.fr \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=tanayabh@gmail.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.