On Fri, 14 Apr 2006, Linus Torvalds wrote: > > It's nice to note how simple and straightforward this makes the built-in > "git log" command, even though it continues to support all the diff flags > too. It doesn't get much simpler that this. Gaah. Missed this important part, which causes the thing to ignore the "--pretty=xyzzy" argument, since it would always use its own default format that is no longer ever changed. I even tested that it works for git-diff-tree, just not for git log. Duh. (Found the hard way - after I had already used the broken git version for doing several merges, and the "--pretty=oneline" format didn't work and screwed up the merge message ;) Linus ---- diff --git a/git.c b/git.c index e8d1fcc..d5a4a24 100644 --- a/git.c +++ b/git.c @@ -283,9 +283,6 @@ static int cmd_log(int argc, const char struct rev_info rev; struct commit *commit; char *buf = xmalloc(LOGSIZE); - static enum cmit_fmt commit_format = CMIT_FMT_DEFAULT; - int abbrev = DEFAULT_ABBREV; - int abbrev_commit = 0; const char *commit_prefix = "commit "; int shown = 0; @@ -298,11 +295,11 @@ static int cmd_log(int argc, const char prepare_revision_walk(&rev); setup_pager(); while ((commit = get_revision(&rev)) != NULL) { - if (shown && rev.diff && commit_format != CMIT_FMT_ONELINE) + if (shown && rev.diff && rev.commit_format != CMIT_FMT_ONELINE) putchar('\n'); fputs(commit_prefix, stdout); - if (abbrev_commit && abbrev) - fputs(find_unique_abbrev(commit->object.sha1, abbrev), + if (rev.abbrev_commit && rev.abbrev) + fputs(find_unique_abbrev(commit->object.sha1, rev.abbrev), stdout); else fputs(sha1_to_hex(commit->object.sha1), stdout); @@ -325,12 +322,12 @@ static int cmd_log(int argc, const char parents = parents->next) parents->item->object.flags &= ~TMP_MARK; } - if (commit_format == CMIT_FMT_ONELINE) + if (rev.commit_format == CMIT_FMT_ONELINE) putchar(' '); else putchar('\n'); - pretty_print_commit(commit_format, commit, ~0, buf, - LOGSIZE, abbrev); + pretty_print_commit(rev.commit_format, commit, ~0, buf, + LOGSIZE, rev.abbrev); printf("%s\n", buf); if (rev.diff) log_tree_commit(&rev, commit); - : send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html