format-patch: Respect --quiet option

Hide the patch filename output from 'git format-patch' when --quiet
is used.  The man pages suggested that this should have already worked.

Signed-off-by: Nate Case <ncase@xes-inc.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Nate Case 2009-03-18 12:00:45 -05:00 committed by Junio C Hamano
parent e986ceb05a
commit ec2956df59

View File

@ -573,7 +573,7 @@ static FILE *realstdout = NULL;
static const char *output_directory = NULL; static const char *output_directory = NULL;
static int outdir_offset; static int outdir_offset;
static int reopen_stdout(const char *oneline, int nr, int total) static int reopen_stdout(const char *oneline, int nr, struct rev_info *rev)
{ {
char filename[PATH_MAX]; char filename[PATH_MAX];
int len = 0; int len = 0;
@ -598,7 +598,9 @@ static int reopen_stdout(const char *oneline, int nr, int total)
strcpy(filename + len, fmt_patch_suffix); strcpy(filename + len, fmt_patch_suffix);
} }
fprintf(realstdout, "%s\n", filename + outdir_offset); if (!DIFF_OPT_TST(&rev->diffopt, QUIET))
fprintf(realstdout, "%s\n", filename + outdir_offset);
if (freopen(filename, "w", stdout) == NULL) if (freopen(filename, "w", stdout) == NULL)
return error("Cannot open patch file %s",filename); return error("Cannot open patch file %s",filename);
@ -687,7 +689,7 @@ static void make_cover_letter(struct rev_info *rev, int use_stdout,
die("Cover letter needs email format"); die("Cover letter needs email format");
if (!use_stdout && reopen_stdout(numbered_files ? if (!use_stdout && reopen_stdout(numbered_files ?
NULL : "cover-letter", 0, rev->total)) NULL : "cover-letter", 0, rev))
return; return;
head_sha1 = sha1_to_hex(head->object.sha1); head_sha1 = sha1_to_hex(head->object.sha1);
@ -1106,7 +1108,7 @@ int cmd_format_patch(int argc, const char **argv, const char *prefix)
} }
if (!use_stdout && reopen_stdout(numbered_files ? NULL : if (!use_stdout && reopen_stdout(numbered_files ? NULL :
get_oneline_for_filename(commit, keep_subject), get_oneline_for_filename(commit, keep_subject),
rev.nr, rev.total)) rev.nr, &rev))
die("Failed to create output files"); die("Failed to create output files");
shown = log_tree_commit(&rev, commit); shown = log_tree_commit(&rev, commit);
free(commit->buffer); free(commit->buffer);