Add msg_sep to diff_options

Add msg_sep variable to struct diff_options.  msg_sep is printed after
commit message.  Default is "\n", format-patch sets it to "---\n".

This also removes the second argument from show_log() because all
callers derived it from the first argument:

    show_log(rev, rev->loginfo, ...

Signed-off-by: Timo Hirvonen <tihirvon@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
Timo Hirvonen
2006-06-25 13:54:14 +03:00
committed by Junio C Hamano
parent 0e677e1a6b
commit 39bc9a6c20
6 changed files with 14 additions and 13 deletions

View File

@ -175,6 +175,7 @@ int cmd_format_patch(int argc, const char **argv, char **envp)
rev.diff = 1; rev.diff = 1;
rev.combine_merges = 0; rev.combine_merges = 0;
rev.ignore_merges = 1; rev.ignore_merges = 1;
rev.diffopt.msg_sep = "---\n";
git_config(git_format_config); git_config(git_format_config);
rev.extra_headers = extra_headers; rev.extra_headers = extra_headers;

View File

@ -701,7 +701,7 @@ static int show_patch_diff(struct combine_diff_path *elem, int num_parent,
const char *abb; const char *abb;
if (rev->loginfo) if (rev->loginfo)
show_log(rev, rev->loginfo, "\n"); show_log(rev, opt->msg_sep);
dump_quoted_path(dense ? "diff --cc " : "diff --combined ", elem->path); dump_quoted_path(dense ? "diff --cc " : "diff --combined ", elem->path);
printf("index "); printf("index ");
for (i = 0; i < num_parent; i++) { for (i = 0; i < num_parent; i++) {
@ -769,7 +769,7 @@ static void show_raw_diff(struct combine_diff_path *p, int num_parent, struct re
inter_name_termination = 0; inter_name_termination = 0;
if (rev->loginfo) if (rev->loginfo)
show_log(rev, rev->loginfo, "\n"); show_log(rev, opt->msg_sep);
if (opt->output_format & DIFF_FORMAT_RAW) { if (opt->output_format & DIFF_FORMAT_RAW) {
offset = strlen(COLONS) - num_parent; offset = strlen(COLONS) - num_parent;
@ -855,7 +855,8 @@ void diff_tree_combined(const unsigned char *sha1,
paths = intersect_paths(paths, i, num_parent); paths = intersect_paths(paths, i, num_parent);
if (opt->output_format & DIFF_FORMAT_DIFFSTAT && rev->loginfo) if (opt->output_format & DIFF_FORMAT_DIFFSTAT && rev->loginfo)
show_log(rev, rev->loginfo, "---\n"); show_log(rev, opt->msg_sep);
diff_flush(&diffopts); diff_flush(&diffopts);
if (opt->output_format & DIFF_FORMAT_DIFFSTAT) if (opt->output_format & DIFF_FORMAT_DIFFSTAT)
putchar('\n'); putchar('\n');

1
diff.c
View File

@ -1424,6 +1424,7 @@ void diff_setup(struct diff_options *options)
options->break_opt = -1; options->break_opt = -1;
options->rename_limit = -1; options->rename_limit = -1;
options->context = 3; options->context = 3;
options->msg_sep = "\n";
options->change = diff_change; options->change = diff_change;
options->add_remove = diff_addremove; options->add_remove = diff_addremove;

1
diff.h
View File

@ -57,6 +57,7 @@ struct diff_options {
int rename_limit; int rename_limit;
int setup; int setup;
int abbrev; int abbrev;
const char *msg_sep;
const char *stat_sep; const char *stat_sep;
long xdl_opts; long xdl_opts;

View File

@ -43,9 +43,10 @@ static int append_signoff(char *buf, int buf_sz, int at, const char *signoff)
return at; return at;
} }
void show_log(struct rev_info *opt, struct log_info *log, const char *sep) void show_log(struct rev_info *opt, const char *sep)
{ {
static char this_header[16384]; static char this_header[16384];
struct log_info *log = opt->loginfo;
struct commit *commit = log->commit, *parent = log->parent; struct commit *commit = log->commit, *parent = log->parent;
int abbrev = opt->diffopt.abbrev; int abbrev = opt->diffopt.abbrev;
int abbrev_commit = opt->abbrev_commit ? opt->abbrev : 40; int abbrev_commit = opt->abbrev_commit ? opt->abbrev : 40;
@ -163,13 +164,9 @@ int log_tree_diff_flush(struct rev_info *opt)
return 0; return 0;
} }
if (opt->loginfo && !opt->no_commit_id) { if (opt->loginfo && !opt->no_commit_id)
if (opt->diffopt.output_format & DIFF_FORMAT_DIFFSTAT) { show_log(opt, opt->diffopt.msg_sep);
show_log(opt, opt->loginfo, "---\n");
} else {
show_log(opt, opt->loginfo, "\n");
}
}
diff_flush(&opt->diffopt); diff_flush(&opt->diffopt);
return 1; return 1;
} }
@ -266,7 +263,7 @@ int log_tree_commit(struct rev_info *opt, struct commit *commit)
shown = log_tree_diff(opt, commit, &log); shown = log_tree_diff(opt, commit, &log);
if (!shown && opt->loginfo && opt->always_show_header) { if (!shown && opt->loginfo && opt->always_show_header) {
log.parent = NULL; log.parent = NULL;
show_log(opt, opt->loginfo, ""); show_log(opt, "");
shown = 1; shown = 1;
} }
opt->loginfo = NULL; opt->loginfo = NULL;

View File

@ -11,6 +11,6 @@ void init_log_tree_opt(struct rev_info *);
int log_tree_diff_flush(struct rev_info *); int log_tree_diff_flush(struct rev_info *);
int log_tree_commit(struct rev_info *, struct commit *); int log_tree_commit(struct rev_info *, struct commit *);
int log_tree_opt_parse(struct rev_info *, const char **, int); int log_tree_opt_parse(struct rev_info *, const char **, int);
void show_log(struct rev_info *opt, struct log_info *log, const char *sep); void show_log(struct rev_info *opt, const char *sep);
#endif #endif