Git Mailing List Archive on
 help / color / Atom feed
From: Felipe Contreras <>
To: Krzysztof Mazur <>,
	Felipe Contreras <>
Subject: Re: [PATCH v3] Add core.mode configuration
Date: Tue, 15 Oct 2013 07:32:39 -0500
Message-ID: <525d35e766ad4_55661275e7426@nysa.notmuch> (raw)
In-Reply-To: <>

Krzysztof Mazur wrote:
> On Mon, Oct 14, 2013 at 04:35:50PM -0500, Felipe Contreras wrote:
> > Krzysztof Mazur wrote:
> > > On Sat, Oct 12, 2013 at 02:04:45AM -0500, Felipe Contreras wrote:
> > > > So that we can specify general modes of operation, specifically, add the
> > > > 'next' mode, which makes Git pre v2.0 behave as Git v2.0.
> > > > 
> > > > Signed-off-by: Felipe Contreras <>
> > > > ---
> > > 
> > > I don't think that single option it's a good idea. From the user's
> > > point of view I think that the way push.default was introduced and
> > > will be changed is much better. So maybe it's better to just add
> > > "core.addremove" option instead?
> > 
> > Maybe, but what happens when we start doing changes for v3.0? As a user, I
> > don't and to figure out which are the new configurations that will turn v3.0
> > behavior on, I just want to be testing that mode, even if I'm not following Git
> > development closely. If I find something annoying with core.mode = next, I
> > report the problem to the mailing list, which is good, we want to know problems
> > with the backward-incompatible changes that will be introduced before it's too
> > late, don't we?
> But with core.mode = next after upgrade you may experience incompatible
> change without any warning.

Yes, and that is actually what the user wants. I mean, why would the user set
core.mode=next, if the user doesn't want to experencie incompatible changes? A
user that sets this mode is expecting incompatible changes, and will be willing
to test them, and report back if there's any problem with them.

> I think it's better to keep the old behavior by default and warn the user if
> with new behavior the result might be different. So the user:
> 	a) knows about the change
> 	b) may set appropriate option to enable the new default or keep
> 	   the old behavior and disable the warning
> 	c) may report that he does not like that change

But that's what we are doing already. Look at the test I wrote, it's testing
the warnings for the current version of Git.

> > I'd be fine with having *both* a fine-tuned option to trigger each specific
> > behavior, and another one that turns all those fine-tuned options on that are
> > meant for v2.0.
> > 
> > Unfortunately, I don't see much interest from Git developers in either.
> I think that most users have already set the push.default, so "git add"
> is the only problem. If Junio really wants to change "git add" he should
> be interested in allowing user to use it now.

I agree, but he really wants the change, and proof of that is that the warning
is already there, and every Git release since then has an annoying message
about that at the top.

> I don't see the change in "git add" as an improvement, because
> removing files with "git add" IMHO is more confusing than ignoring
> such files. Maybe introducing new command - "git update" for instance -
> which is equivalent to new "git add" and teaching new users to use it
> instead of "git add" is better.

I agree. At first I simply ignored the changes because I didn't have the
patience to figure out what exactly did they mean. Now I was forced to
understand them to write this patch, and I'm also forcing myself to use this

'git add' removing files is counter-intutive, 'git stage' (currently an alias
to 'git add') might make more sense.

But even better would be to use my proposed changes to 'git stage', which add
subcommands, for example:

 * git stage all (git add --all)
 * git stage update (git add --update)

But it doesn't seem that patch is going to be applied by Junio, so most likely
we would have to deal with yet anotyer counter-intuitive behavior in Git.

Felipe Contreras

  reply index

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-10-12  7:04 Felipe Contreras
2013-10-14 20:59 ` Krzysztof Mazur
2013-10-14 21:35   ` Felipe Contreras
2013-10-15 12:35     ` Krzysztof Mazur
2013-10-15 12:32       ` Felipe Contreras [this message]
2013-10-15 13:33         ` Krzysztof Mazur
2013-10-15 13:29           ` Felipe Contreras
2013-10-15 14:51             ` Krzysztof Mazur
2013-10-15 16:59               ` John Szakmeister
2013-10-16  3:55                 ` Felipe Contreras
2013-10-16  7:09                   ` Krzysztof Mazur
2013-10-16 19:31                     ` Felipe Contreras
2013-10-16 10:54                   ` John Szakmeister
2013-10-16 15:11                     ` John Szakmeister
2013-10-16 19:57                       ` Felipe Contreras
2013-10-16 19:32                     ` Felipe Contreras
2013-10-16 22:02                       ` Philip Oakley
2013-10-16 23:06                         ` Jonathan Nieder
2013-10-17 19:48                           ` Philip Oakley
2013-10-17 21:08                           ` Felipe Contreras
2013-10-15 18:51               ` Felipe Contreras
2013-10-15 22:01                 ` Krzysztof Mazur
2013-10-16  4:03                   ` Felipe Contreras
2013-10-16  6:34                     ` Krzysztof Mazur
2013-10-16 19: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:

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

  git send-email \
    --in-reply-to=525d35e766ad4_55661275e7426@nysa.notmuch \ \ \ \

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

Git Mailing List Archive on

Archives are clonable:
	git clone --mirror git/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 git git/ \
	public-inbox-index git

Example config snippet for mirrors

Newsgroup available over NNTP:

AGPL code for this site: git clone