Subject: Re: git rev-list formatting

From: Michael J Gruber <[email-masked]>
Date: Mon, 22 Mar 2010 14:08:47 +0100

Eli Barzilay venit, vidit, dixit 22.03.2010 12:39:
> Eli Barzilay <[email-masked]> writes:
> 
>> [...]
>>
>> Also, is there a way to avoid the "commit <sha1>" line, print some
>> information that I specify in the format string, and show the whole
>> message as is (without wrapping or other tweaks)?
> 
> Looks like `git log' does something similar to what I want anyway,
> which leads me to a related question -- it's not clear to me what are
> the differences between `git rev-list', `git log', `git diff', and
> `git show', since it looks like they can all be tweaked to produce
> similar outputs.  Are they all the same with different outputs?  Is
> there some description of them with the differences explained?

The rev-list man page lists all commands of that family, with rev-list
being the bare bones version, and log and friends being more "high
level". log and rev-list walk the revision tree, show does not. Most of
that can be changed through options. whatchanged is a special family
member...

diff is from a completely different family (see git help diff or git
help diffcore). It never walks, but compares revisions (or other things).

The log family never compares things, but can show a patch, i.e. the
difference to the ancestor(s).

> Also related, it looks like `--abbrev-commit' has no effect on `git
> rev-list', but does on `git log', even through it's documented in the
> former's man page.  So it looks like either there are more
> (undocumented?) differences, or maybe that's also a bug?

I consider this a bug. In fact, it has an effect, but not a visible one.
You would have to use --abbrev=7 or such.

A patch is upcoming.

Cheers,
Michael