Skip to content

Commit

Permalink
Merge branch 'jn/status-translatable'
Browse files Browse the repository at this point in the history
* jn/status-translatable:
  commit, status: use status_printf{,_ln,_more} helpers
  commit: refer to commit template as s->fp
  wt-status: add helpers for printing wt-status lines

Conflicts:
	builtin/commit.c
  • Loading branch information
gitster committed Mar 20, 2011
2 parents 0d7f242 + b926c0d commit f4784b3
Show file tree
Hide file tree
Showing 5 changed files with 166 additions and 72 deletions.
59 changes: 30 additions & 29 deletions builtin/commit.c
Expand Up @@ -612,7 +612,6 @@ static int prepare_to_commit(const char *index_file, const char *prefix,
int commitable, saved_color_setting;
struct strbuf sb = STRBUF_INIT;
char *buffer;
FILE *fp;
const char *hook_arg1 = NULL;
const char *hook_arg2 = NULL;
int ident_shown = 0;
Expand Down Expand Up @@ -705,8 +704,8 @@ static int prepare_to_commit(const char *index_file, const char *prefix,
hook_arg2 = "";
}

fp = fopen(git_path(commit_editmsg), "w");
if (fp == NULL)
s->fp = fopen(git_path(commit_editmsg), "w");
if (s->fp == NULL)
die_errno("could not open '%s'", git_path(commit_editmsg));

if (cleanup_mode != CLEANUP_NONE)
Expand All @@ -730,7 +729,7 @@ static int prepare_to_commit(const char *index_file, const char *prefix,
strbuf_release(&sob);
}

if (fwrite(sb.buf, 1, sb.len, fp) < sb.len)
if (fwrite(sb.buf, 1, sb.len, s->fp) < sb.len)
die_errno("could not write commit template");

strbuf_release(&sb);
Expand All @@ -743,56 +742,58 @@ static int prepare_to_commit(const char *index_file, const char *prefix,
if (use_editor && include_status) {
char *ai_tmp, *ci_tmp;
if (whence != FROM_COMMIT)
fprintf(fp,
"#\n"
"# It looks like you may be committing a %s.\n"
"# If this is not correct, please remove the file\n"
"# %s\n"
"# and try again.\n"
"#\n",
status_printf_ln(s, GIT_COLOR_NORMAL,
"\n"
"It looks like you may be committing a %s.\n"
"If this is not correct, please remove the file\n"
" %s\n"
"and try again.\n"
"",
whence_s(),
git_path(whence == FROM_MERGE
? "MERGE_HEAD"
: "CHERRY_PICK_HEAD"));
fprintf(fp,
"\n"
"# Please enter the commit message for your changes.");

fprintf(s->fp, "\n");
status_printf(s, GIT_COLOR_NORMAL,
"Please enter the commit message for your changes.");
if (cleanup_mode == CLEANUP_ALL)
fprintf(fp,
status_printf_more(s, GIT_COLOR_NORMAL,
" Lines starting\n"
"# with '#' will be ignored, and an empty"
"with '#' will be ignored, and an empty"
" message aborts the commit.\n");
else /* CLEANUP_SPACE, that is. */
fprintf(fp,
status_printf_more(s, GIT_COLOR_NORMAL,
" Lines starting\n"
"# with '#' will be kept; you may remove them"
"with '#' will be kept; you may remove them"
" yourself if you want to.\n"
"# An empty message aborts the commit.\n");
"An empty message aborts the commit.\n");
if (only_include_assumed)
fprintf(fp, "# %s\n", only_include_assumed);
status_printf_ln(s, GIT_COLOR_NORMAL,
"%s", only_include_assumed);

ai_tmp = cut_ident_timestamp_part(author_ident->buf);
ci_tmp = cut_ident_timestamp_part(committer_ident.buf);
if (strcmp(author_ident->buf, committer_ident.buf))
fprintf(fp,
status_printf_ln(s, GIT_COLOR_NORMAL,
"%s"
"# Author: %s\n",
ident_shown++ ? "" : "#\n",
"Author: %s",
ident_shown++ ? "" : "\n",
author_ident->buf);

if (!user_ident_sufficiently_given())
fprintf(fp,
status_printf_ln(s, GIT_COLOR_NORMAL,
"%s"
"# Committer: %s\n",
ident_shown++ ? "" : "#\n",
"Committer: %s",
ident_shown++ ? "" : "\n",
committer_ident.buf);

if (ident_shown)
fprintf(fp, "#\n");
status_printf_ln(s, GIT_COLOR_NORMAL, "");

saved_color_setting = s->use_color;
s->use_color = 0;
commitable = run_status(fp, index_file, prefix, 1, s);
commitable = run_status(s->fp, index_file, prefix, 1, s);
s->use_color = saved_color_setting;

*ai_tmp = ' ';
Expand All @@ -814,7 +815,7 @@ static int prepare_to_commit(const char *index_file, const char *prefix,
}
strbuf_release(&committer_ident);

fclose(fp);
fclose(s->fp);

/*
* Reject an attempt to record a non-merge empty commit without
Expand Down
9 changes: 9 additions & 0 deletions color.c
Expand Up @@ -175,6 +175,15 @@ int git_color_default_config(const char *var, const char *value, void *cb)
return git_default_config(var, value, cb);
}

void color_print_strbuf(FILE *fp, const char *color, const struct strbuf *sb)
{
if (*color)
fprintf(fp, "%s", color);
fprintf(fp, "%s", sb->buf);
if (*color)
fprintf(fp, "%s", GIT_COLOR_RESET);
}

static int color_vfprintf(FILE *fp, const char *color, const char *fmt,
va_list args, const char *trail)
{
Expand Down
3 changes: 3 additions & 0 deletions color.h
@@ -1,6 +1,8 @@
#ifndef COLOR_H
#define COLOR_H

struct strbuf;

/* 2 + (2 * num_attrs) + 8 + 1 + 8 + 'm' + NUL */
/* "\033[1;2;4;5;7;38;5;2xx;48;5;2xxm\0" */
/*
Expand Down Expand Up @@ -64,6 +66,7 @@ __attribute__((format (printf, 3, 4)))
int color_fprintf(FILE *fp, const char *color, const char *fmt, ...);
__attribute__((format (printf, 3, 4)))
int color_fprintf_ln(FILE *fp, const char *color, const char *fmt, ...);
void color_print_strbuf(FILE *fp, const char *color, const struct strbuf *sb);

int color_is_nil(const char *color);

Expand Down

0 comments on commit f4784b3

Please sign in to comment.