From: Timo Hirvonen <tihirvon@gmail.com>
To: Timo Hirvonen <tihirvon@gmail.com>
Cc: junkio@cox.net, git@vger.kernel.org
Subject: [PATCH] Add msg_sep to diff_options
Date: Sun, 25 Jun 2006 13:54:14 +0300 [thread overview]
Message-ID: <20060625135414.425580d1.tihirvon@gmail.com> (raw)
In-Reply-To: <20060624202153.1001a66c.tihirvon@gmail.com>
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>
---
I'm not 100% sure if format-patch is the only one wanting "---\n".
But I think "\n" should be used for every command that doesn't create
patches.
builtin-log.c | 1 +
combine-diff.c | 7 ++++---
diff.c | 1 +
diff.h | 1 +
log-tree.c | 15 ++++++---------
log-tree.h | 2 +-
6 files changed, 14 insertions(+), 13 deletions(-)
diff --git a/builtin-log.c b/builtin-log.c
index f173070..5b3fadc 100644
--- a/builtin-log.c
+++ b/builtin-log.c
@@ -175,6 +175,7 @@ int cmd_format_patch(int argc, const cha
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;
diff --git a/combine-diff.c b/combine-diff.c
index 3daa8cb..39fb10c 100644
--- a/combine-diff.c
+++ b/combine-diff.c
@@ -701,7 +701,7 @@ static int show_patch_diff(struct combin
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
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 c
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');
diff --git a/diff.c b/diff.c
index 4b1b4eb..cc2af30 100644
--- a/diff.c
+++ b/diff.c
@@ -1359,6 +1359,7 @@ void diff_setup(struct diff_options *opt
options->break_opt = -1;
options->rename_limit = -1;
options->context = 3;
+ options->msg_sep = "\n";
options->change = diff_change;
options->add_remove = diff_addremove;
diff --git a/diff.h b/diff.h
index 2b6dc0c..729cd02 100644
--- a/diff.h
+++ b/diff.h
@@ -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;
diff --git a/log-tree.c b/log-tree.c
index 7d4c51f..ab6b682 100644
--- a/log-tree.c
+++ b/log-tree.c
@@ -43,9 +43,10 @@ static int append_signoff(char *buf, int
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
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
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;
diff --git a/log-tree.h b/log-tree.h
index a26e484..e82b56a 100644
--- a/log-tree.h
+++ b/log-tree.h
@@ -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
--
1.4.1.rc1.g35ee-dirty
next prev parent reply other threads:[~2006-06-25 10:54 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-06-24 17:18 [PATCH 0/7] Rework diff options Timo Hirvonen
2006-06-24 17:20 ` [PATCH 1/7] Clean up diff.c Timo Hirvonen
2006-06-24 17:21 ` [PATCH 2/7] Merge with_raw, with_stat and summary variables to output_format Timo Hirvonen
2006-06-24 20:52 ` Johannes Schindelin
2006-06-24 21:56 ` Timo Hirvonen
2006-06-24 23:20 ` Johannes Schindelin
2006-06-25 10:54 ` Timo Hirvonen [this message]
2006-06-25 11:40 ` [PATCH] Add msg_sep to diff_options Junio C Hamano
2006-06-25 11:11 ` [PATCH] whatchanged: Default to DIFF_FORMAT_RAW Timo Hirvonen
2006-06-25 11:55 ` Junio C Hamano
2006-06-25 12:39 ` Timo Hirvonen
2006-06-25 11:28 ` [PATCH] Don't xcalloc() struct diffstat_t Timo Hirvonen
2006-06-24 17:23 ` [PATCH 3/7] Make --raw option available for all diff commands Timo Hirvonen
2006-06-24 17:24 ` [PATCH 4/7] Set default diff output format after parsing command line Timo Hirvonen
2006-06-24 17:25 ` [PATCH 5/7] DIFF_FORMAT_RAW is not default anymore Timo Hirvonen
2006-06-24 17:26 ` [PATCH 6/7] --name-only, --name-status, --check and -s are mutually exclusive Timo Hirvonen
2006-06-24 17:28 ` [PATCH 7/7] Remove awkward compatibility warts Timo Hirvonen
2006-06-25 3:48 ` [PATCH 0/7] Rework diff options Junio C Hamano
2006-06-25 11:13 ` Timo Hirvonen
2006-06-26 18:24 ` Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20060625135414.425580d1.tihirvon@gmail.com \
--to=tihirvon@gmail.com \
--cc=git@vger.kernel.org \
--cc=junkio@cox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).