From: Linus Torvalds Date: Sun, 22 Feb 2009 20:34:08 GMT Subject: Re: [RFC/PATCH] revision.c: add --format option for 'git log' Message-ID: In-Reply-To: <94a0d4530902221014i46e52542j2380386405b559e2@mail.gmail.com> On Sun, 22 Feb 2009, Felipe Contreras wrote: > > 'git log --pretty=foo' is very unintuitive, no one would ever find > that option by intuition. Are there different kinds of pretties? Is > the default behavior --ugly? Historically, the default behaviour _was_ indeed --ugly. There was no native "git log" command per se, it was literally a script that did something like git-rev-list | git-diff-tree --stdin --pretty | $(PAGER) and the "--pretty" option was to tell git to give human-readable output from git-diff-tree rather than the harsh raw stuff. So yes, the default for git used to be "low-level plumbing commands for scripting", with some options to turn them pretty for the fleshies. Then we started having more options, so "--pretty" became "--pretty=xyz". But I do realize that without the historical background, none of this makes sense. And quite frankly, I do hate "--pretty=xyz" myself. I find myself wishing I could just write git log --oneline instead of "--pretty=oneline", and I wish "shortlog" was a pretty format instead of a command of its own. So at least personally, I would not object AT ALL to - leave the "--pretty=xyz" parsing for historical reasons - support "--format=xyz" too, because it does make sense (and it's unambiguous: a format without a '%' sign in it makes no sense, so there is no reason to have "--format=format:%s" - if we see an unrecognized "--