diff options
author | Junio C Hamano <junkio@cox.net> | 2006-05-19 15:25:57 -0700 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2006-05-19 15:25:57 -0700 |
commit | 6858d494926437ad7b7e9199ea39953eb90c7bab (patch) | |
tree | d364a2e94b9771aab4f2ecd77c5866049b68e705 /log-tree.c | |
parent | Enable ref log creation in git checkout -b. (diff) | |
parent | Use RFC2822 dates from "git fmt-patch". (diff) | |
download | tgif-6858d494926437ad7b7e9199ea39953eb90c7bab.tar.xz |
Merge part of 'js/fmt-patch' for RFC2822 dates into 'sp/reflog'
An earlier patch from Shawn Pearce dependes on a change that is
only in "next". I do not want to make this series hostage to
the yet-to-graduate js/fmt-patch branch, but let's try fixing it
by merging the early parts of the branch to see what happens.
Right now, 'sp/reflog' will not be in "next" for now, so I won't
have to regret this -- if this merge causes problem down the road
merging I can always rebuild the topic branch ;-).
Diffstat (limited to 'log-tree.c')
-rw-r--r-- | log-tree.c | 31 |
1 files changed, 21 insertions, 10 deletions
diff --git a/log-tree.c b/log-tree.c index b90ba6762a..2bcf2dfaaa 100644 --- a/log-tree.c +++ b/log-tree.c @@ -49,14 +49,22 @@ void show_log(struct rev_info *opt, struct log_info *log, const char *sep) /* * Print header line of header.. */ - printf("%s%s", - opt->commit_format == CMIT_FMT_ONELINE ? "" : "commit ", - diff_unique_abbrev(commit->object.sha1, abbrev_commit)); - if (opt->parents) - show_parents(commit, abbrev_commit); - if (parent) - printf(" (from %s)", diff_unique_abbrev(parent->object.sha1, abbrev_commit)); - putchar(opt->commit_format == CMIT_FMT_ONELINE ? ' ' : '\n'); + + if (opt->commit_format == CMIT_FMT_EMAIL) + printf("From %s Thu Apr 7 15:13:13 2005\n", + sha1_to_hex(commit->object.sha1)); + else { + printf("%s%s", + opt->commit_format == CMIT_FMT_ONELINE ? "" : "commit ", + diff_unique_abbrev(commit->object.sha1, abbrev_commit)); + if (opt->parents) + show_parents(commit, abbrev_commit); + if (parent) + printf(" (from %s)", + diff_unique_abbrev(parent->object.sha1, + abbrev_commit)); + putchar(opt->commit_format == CMIT_FMT_ONELINE ? ' ' : '\n'); + } /* * And then the pretty-printed message itself @@ -166,15 +174,18 @@ static int log_tree_diff(struct rev_info *opt, struct commit *commit, struct log int log_tree_commit(struct rev_info *opt, struct commit *commit) { struct log_info log; + int shown; log.commit = commit; log.parent = NULL; opt->loginfo = &log; - if (!log_tree_diff(opt, commit, &log) && opt->loginfo && opt->always_show_header) { + shown = log_tree_diff(opt, commit, &log); + if (!shown && opt->loginfo && opt->always_show_header) { log.parent = NULL; show_log(opt, opt->loginfo, ""); + shown = 1; } opt->loginfo = NULL; - return 0; + return shown; } |