mirror of
https://github.com/git/git.git
synced 2024-11-17 22:44:49 +01:00
whatchanged options parser fix.
We need to have two sets of diff_options structure and abbrev settings, but there is no point having two separate commit format setting. Fix the confusion. Also properly initialize the command options structure. Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
parent
f4235f8b2e
commit
d2e38d3bc3
2 changed files with 6 additions and 6 deletions
11
git.c
11
git.c
|
@ -288,19 +288,20 @@ static int cmd_log(int argc, const char **argv, char **envp)
|
|||
struct rev_info *rev = &wcopt.revopt;
|
||||
struct log_tree_opt *opt = &wcopt.logopt;
|
||||
|
||||
memset(&wcopt, 0, sizeof(wcopt));
|
||||
init_log_tree_opt(&wcopt.logopt);
|
||||
wcopt.commit_format = CMIT_FMT_DEFAULT;
|
||||
opt->commit_format = CMIT_FMT_DEFAULT;
|
||||
wcopt.abbrev = DEFAULT_ABBREV;
|
||||
argc = parse_whatchanged_opt(argc, argv, &wcopt);
|
||||
|
||||
if (wcopt.logopt.commit_format == CMIT_FMT_ONELINE)
|
||||
if (opt->commit_format == CMIT_FMT_ONELINE)
|
||||
commit_prefix = "";
|
||||
|
||||
prepare_revision_walk(rev);
|
||||
setup_pager();
|
||||
while ((commit = get_revision(rev)) != NULL) {
|
||||
if (shown && wcopt.do_diff &&
|
||||
wcopt.commit_format != CMIT_FMT_ONELINE)
|
||||
opt->commit_format != CMIT_FMT_ONELINE)
|
||||
putchar('\n');
|
||||
fputs(commit_prefix, stdout);
|
||||
if (wcopt.abbrev_commit && wcopt.abbrev)
|
||||
|
@ -327,11 +328,11 @@ static int cmd_log(int argc, const char **argv, char **envp)
|
|||
parents = parents->next)
|
||||
parents->item->object.flags &= ~TMP_MARK;
|
||||
}
|
||||
if (wcopt.commit_format == CMIT_FMT_ONELINE)
|
||||
if (opt->commit_format == CMIT_FMT_ONELINE)
|
||||
putchar(' ');
|
||||
else
|
||||
putchar('\n');
|
||||
pretty_print_commit(wcopt.commit_format, commit, ~0, buf,
|
||||
pretty_print_commit(opt->commit_format, commit, ~0, buf,
|
||||
LOGSIZE, wcopt.abbrev);
|
||||
printf("%s\n", buf);
|
||||
if (wcopt.do_diff)
|
||||
|
|
|
@ -25,7 +25,6 @@ int log_tree_opt_parse(struct log_tree_opt *, const char **, int);
|
|||
struct whatchanged_opt {
|
||||
struct rev_info revopt;
|
||||
struct log_tree_opt logopt;
|
||||
enum cmit_fmt commit_format;
|
||||
int abbrev;
|
||||
int abbrev_commit;
|
||||
int do_diff;
|
||||
|
|
Loading…
Reference in a new issue