From: Nicolas Pitre <nico@cam.org>
To: Junio C Hamano <junkio@cox.net>
Cc: Marco Costalba <mcostalba@gmail.com>,
git mailing list <git@vger.kernel.org>
Subject: Re: [PATCH] git-commit: revamp the git-commit semantics.
Date: Tue, 07 Feb 2006 11:59:26 -0500 (EST) [thread overview]
Message-ID: <Pine.LNX.4.64.0602071135110.5397@localhost.localdomain> (raw)
In-Reply-To: <7voe1le71b.fsf@assigned-by-dhcp.cox.net>
On Sun, 5 Feb 2006, Junio C Hamano wrote:
> I was hoping that, once people get used to --include and --only,
> they start to "revel in the index" (as Linus puts it), and
> realize that defaulting to --only is not such a good idea after
> all. When that happens, I could leave --include as the
> default without getting complaints from them ;-).
I know this is like fighting old habits, but at some point one as to
realize that there was a mistake in the interface and the best way to
solve that mistake is to go with the objectively most intuitive
solution.
People can get used to the index concept like you did yourself of
course, but that is still dismissing the very reason for doing that
change in the first place, which is that to a git beginner it is counter
intuitive to have side effects when explicit paths are specified
_alone_.
> The net effect, if we end up doing so, would be that we gained
> an extra flag --only that the user can use to explicitly ask for
> a partial commit when they want one, without disrupting the
> established workflow of old timers.
It is a bit deconcerting to see that git has already reached the
software stone age and that so called "old timers" already have more
weight than clean interfaces... even after less than a year.
Please don't make it another CVS and fix those inconsistencies clean and
quick while the user base is not yet inapt to change.
> The --only semantics is a useful thing in many situations, while
> the --include semantics is also a useful thing in many other
> cases. The latter might be a better match to the way the git
> internal works, but both are equally useful options that support
> different workflows. I do not see an inherent reason to declare
> one over the other to be "the default".
What has happened to the "least surprise" principle? That clearly
favorize the former IMHO.
> So we could instead
> have no defaults at all (i.e. you have to explicitly say which
> kind you want if you use paths...).
And that would be just a nice usability annoyance.
Maybe being too intimate with git doesn't make it obvious to you, but if
you do a survey of the number of tools that allows accepting a list of
paths for their only arguments it should be pretty obvious that the vast
majority operate only on those explicit paths without any hidden side
effect.
If "git commit" is meant to be a user helper script to hide the low
level git plumbing then it better do it with the least surprise
principle in mind, otherwise it misses its very purpose. And the faster
this is corrected the better, especially since this is not such a
disturbing change after all.
Nicolas
next prev parent reply other threads:[~2006-02-07 16:59 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-02-05 10:24 [PATCH] git-commit: revamp the git-commit semantics Junio C Hamano
2006-02-05 13:36 ` Marco Costalba
2006-02-05 20:03 ` Junio C Hamano
2006-02-05 22:08 ` Marco Costalba
2006-02-05 23:10 ` Junio C Hamano
2006-02-07 16:59 ` Nicolas Pitre [this message]
2006-02-07 17:50 ` Junio C Hamano
2006-02-07 18:18 ` Junio C Hamano
2006-02-07 19:25 ` Jon Loeliger
2006-02-07 18:39 ` Nicolas Pitre
2006-02-07 19:18 ` Nicolas Pitre
2006-02-08 5:41 ` Junio C Hamano
[not found] ` <20060205225116.GC24561@blinkenlights.visv.net>
2006-02-06 0:03 ` Junio C Hamano
2006-02-06 1:32 ` Junio C Hamano
2006-02-06 2:25 ` Michael Fischer
2006-02-06 7:31 ` 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=Pine.LNX.4.64.0602071135110.5397@localhost.localdomain \
--to=nico@cam.org \
--cc=git@vger.kernel.org \
--cc=junkio@cox.net \
--cc=mcostalba@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 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 NNTP newsgroup(s).