зеркало из https://github.com/microsoft/git.git
Fixes for option parsing
Make sure "git show" always show the header, regardless of whether there is a diff or not. Also, make sure "always_show_header" actually works, since generate_header only tested it in one out of three return paths. Signed-off-by: Linus Torvalds <torvalds@osdl.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
Родитель
cb8f64b4e3
Коммит
78fff6ebba
1
git.c
1
git.c
|
@ -373,6 +373,7 @@ static int cmd_show(int argc, const char **argv, char **envp)
|
|||
rev.diffopt.recursive = 1;
|
||||
rev.combine_merges = 1;
|
||||
rev.dense_combined_merges = 1;
|
||||
rev.always_show_header = 1;
|
||||
rev.ignore_merges = 0;
|
||||
rev.no_walk = 1;
|
||||
return cmd_log_wc(argc, argv, envp, &rev);
|
||||
|
|
20
log-tree.c
20
log-tree.c
|
@ -43,7 +43,7 @@ static int diff_root_tree(struct rev_info *opt,
|
|||
return retval;
|
||||
}
|
||||
|
||||
static const char *generate_header(struct rev_info *opt,
|
||||
static const char *get_header(struct rev_info *opt,
|
||||
const unsigned char *commit_sha1,
|
||||
const unsigned char *parent_sha1,
|
||||
const struct commit *commit)
|
||||
|
@ -75,13 +75,23 @@ static const char *generate_header(struct rev_info *opt,
|
|||
offset += pretty_print_commit(opt->commit_format, commit, len,
|
||||
this_header + offset,
|
||||
sizeof(this_header) - offset, abbrev);
|
||||
if (opt->always_show_header) {
|
||||
puts(this_header);
|
||||
return NULL;
|
||||
}
|
||||
return this_header;
|
||||
}
|
||||
|
||||
static const char *generate_header(struct rev_info *opt,
|
||||
const unsigned char *commit_sha1,
|
||||
const unsigned char *parent_sha1,
|
||||
const struct commit *commit)
|
||||
{
|
||||
const char *header = get_header(opt, commit_sha1, parent_sha1, commit);
|
||||
|
||||
if (opt->always_show_header) {
|
||||
puts(header);
|
||||
header = NULL;
|
||||
}
|
||||
return header;
|
||||
}
|
||||
|
||||
static int do_diff_combined(struct rev_info *opt, struct commit *commit)
|
||||
{
|
||||
unsigned const char *sha1 = commit->object.sha1;
|
||||
|
|
Загрузка…
Ссылка в новой задаче