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.combine_merges = 0;
rev.ignore_merges = 1;
rev.diffopt.msg_sep = "---\n";
git_config(git_format_config);
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;
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);
printf("index ");
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;
if (rev->loginfo)
show_log(rev, rev->loginfo, "\n");
show_log(rev, opt->msg_sep);
if (opt->output_format & DIFF_FORMAT_RAW) {
offset = strlen(COLONS) - num_parent;
@ -855,7 +855,8 @@ void diff_tree_combined(const unsigned char *sha1,
paths = intersect_paths(paths, i, num_parent);
if (opt->output_format & DIFF_FORMAT_DIFFSTAT && rev->loginfo)
show_log(rev, rev->loginfo, "---\n");
show_log(rev, opt->msg_sep);
diff_flush(&diffopts);
if (opt->output_format & DIFF_FORMAT_DIFFSTAT)
putchar('\n');

1
diff.c
View File

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

1
diff.h
View File

@ -57,6 +57,7 @@ struct diff_options {
int rename_limit;
int setup;
int abbrev;
const char *msg_sep;
const char *stat_sep;
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;
}
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];
struct log_info *log = opt->loginfo;
struct commit *commit = log->commit, *parent = log->parent;
int abbrev = opt->diffopt.abbrev;
int abbrev_commit = opt->abbrev_commit ? opt->abbrev : 40;
@ -163,13 +164,9 @@ int log_tree_diff_flush(struct rev_info *opt)
return 0;
}
if (opt->loginfo && !opt->no_commit_id) {
if (opt->diffopt.output_format & DIFF_FORMAT_DIFFSTAT) {
show_log(opt, opt->loginfo, "---\n");
} else {
show_log(opt, opt->loginfo, "\n");
}
}
if (opt->loginfo && !opt->no_commit_id)
show_log(opt, opt->diffopt.msg_sep);
diff_flush(&opt->diffopt);
return 1;
}
@ -266,7 +263,7 @@ int log_tree_commit(struct rev_info *opt, struct commit *commit)
shown = log_tree_diff(opt, commit, &log);
if (!shown && opt->loginfo && opt->always_show_header) {
log.parent = NULL;
show_log(opt, opt->loginfo, "");
show_log(opt, "");
shown = 1;
}
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_commit(struct rev_info *, struct commit *);
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