From: Ingo Molnar <mingo@elte.hu>
To: Pierre Habouzit <madcoder@debian.org>, Jeff King <peff@peff.net>,
Jakub Narebski <jnareb@gmail.com>,
Christian Couder <chriscool@tuxfamily.org>,
git@vger.kernel.org, Junio C Hamano <g
Subject: Re: [PATCH] Invert numbers and names in the git-shortlog summary mode.
Date: Tue, 11 Dec 2007 16:48:41 +0100 [thread overview]
Message-ID: <20071211154841.GA29805@elte.hu> (raw)
In-Reply-To: <20071211152412.GB15448@artemis.madism.org>
* Pierre Habouzit <madcoder@debian.org> wrote:
> > which is quite a bit confusing to someone who'd like to keep as few
> > details of command line arguments in his head as possible :-)
>
> Because git-shortlog insists on you passing a reference first, HEAD is
> not implicit if you pass something that looks like a path first. This
> is arguably wrong. What you meant here is:
>
> $ git-shortlog -n -s HEAD kernel/
>
> The reason IIRC is that git-shortlog once only read things on stdin,
> and this keeps backward compatbility to `git-shortlog` without any
> arguments.
>
> Sometimes history hurts :) I don't think there is much we can do on a
> short timescale. Maybe the old way can be slowly deprecated, and then
> git-shortlog will be able to act like git-log.
if we are growing legacies in git this fast it will turn itself into CVS
very quickly, give or take 20 years ;-) I think a straightforward usage
model is paramount, so phasing out such inconsistencies as early as
possible in the project's lifetime should be a priority IMHO. Git has a
very, very 'refreshing' approach to information management, and that
should permeate it all across. It's easy to be "fresh" in the beginning
of a project - maintaining freshness for years is a lot harder. (i dont
suggest to break compatibility, but to be aware of such inconsitencies
and make it a priority to get rid of them. It does not help that such
inconsistencies are only apparent to git newbies.)
another thing i noticed that bites git newbies is that there are
commands that do not do the "obvious" thing (to a newbie) and there are
commands that just dont tell what they are doing. It would be very
helpful if git was just a little bit more verbose about what it does.
I.e. use the standard output for ... actual output, and there will be an
instant and pleasant feedback loop between newbie and tool.
It should basically "teach" the user along the way about what is being
done, so that it quickly becomes an automatism. Especially where
concepts differ from legacy SCMs. When is the index updated, when do
files get modified, how branching works, etc.
for example, if i type "git-checkout" in a Linux kernel tree, it just
sits there for up to a minute, and "does nothing". That is totally
wrong, human-interaction wise. Then after a minute it just returns. What
happened? Why? Where? A newbie would then try "git-checkout -v", using
the well-established "verbose" flag, but that gives:
Usage: /usr/bin/git-checkout [-q] [-f] [-b <new_branch>] [-m] [<branch>] [<paths>...]
That's what a newbie asks. We are trying to turn the world of SCM's
upside down with git, and we should do that by teaching things gradually
and by being very explicit what happens and why, when a command is typed
;-)
i could go on and on with other examples. (should I ? ;-)
It's small, little details like that and if we fix a few dozen of them
it will do _wonders_ to user education, really. The best tools are the
ones that emit just about information to essentially give a tutorial to
the newbie about the philosophy and workings of the tool - without being
annoying to advanced users. It flattens the learning curve and increases
adoption rate enormously. It also helps people learn their way out of
the mental deformations that CVS causes ;-)
And we could do this by adding a -q "quiet" flag, to restore the current
'silent' behavior of git. I could then do this in my .bashrc:
alias git='git -q'
to get the old, quiet behavior. This issue is pretty much the only
conceptual advantage i can see of the competition like hg/mercurial ;-)
Ok, enough ranting for today i guess =B-)
Ingo
next prev parent reply other threads:[~2007-12-11 15:49 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-12-07 9:34 git-bisect feature suggestion: "git-bisect diff" Ingo Molnar
2007-12-07 9:58 ` Junio C Hamano
2007-12-07 10:25 ` Junio C Hamano
2007-12-07 11:21 ` Ingo Molnar
2007-12-07 19:28 ` Junio C Hamano
2007-12-07 19:46 ` Ingo Molnar
2007-12-07 21:34 ` Jeff King
2007-12-07 21:35 ` Jeff King
2007-12-07 21:44 ` Junio C Hamano
2007-12-07 21:55 ` Jeff King
2007-12-07 22:03 ` Junio C Hamano
2007-12-07 22:07 ` Jeff King
2007-12-08 2:54 ` Junio C Hamano
2007-12-08 5:36 ` Christian Couder
2007-12-08 15:29 ` Ingo Molnar
2007-12-09 5:33 ` git-bisect run make -j64 kernel/ (was Re: git-bisect feature suggestion: "git-bisect diff") Christian Couder
2007-12-12 9:43 ` Ingo Molnar
2007-12-11 9:24 ` git-bisect feature suggestion: "git-bisect diff" Ingo Molnar
2007-12-11 9:29 ` Pierre Habouzit
2007-12-11 10:13 ` Jakub Narebski
2007-12-11 11:59 ` Pierre Habouzit
2007-12-11 12:25 ` Jeff King
2007-12-11 12:33 ` Jeff King
2007-12-11 14:05 ` Ingo Molnar
2007-12-11 14:43 ` [PATCH] Invert numbers and names in the git-shortlog summary mode Pierre Habouzit
2007-12-11 14:57 ` Ingo Molnar
2007-12-11 15:24 ` Pierre Habouzit
2007-12-11 15:34 ` Nicolas Pitre
2007-12-11 18:09 ` Junio C Hamano
2007-12-11 15:48 ` Ingo Molnar [this message]
2007-12-11 16:07 ` Pierre Habouzit
2007-12-11 16:11 ` Pierre Habouzit
2007-12-11 21:13 ` Ingo Molnar
2007-12-11 22:21 ` Junio C Hamano
2007-12-11 17:58 ` Junio C Hamano
2007-12-11 10:17 ` git-bisect feature suggestion: "git-bisect diff" Ingo Molnar
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=20071211154841.GA29805@elte.hu \
--to=mingo@elte.hu \
--cc=chriscool@tuxfamily.org \
--cc=git@vger.kernel.org \
--cc=jnareb@gmail.com \
--cc=madcoder@debian.org \
--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 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).