On Wed, Apr 30, 2008 at 10:50:17AM -0400, Jeff King wrote: > It segfaults for me, since you try to strdup NULL. I think you want to > return "" if there is no initial commit, so you can strcmp against the > current committer (or alternatively, explicitly check for NULL). > [...] > IOW, put in a blank line on either side, but not between the two > identities if both are shown. Fixes for these are below (no commit message; I think you should respin the series rather than making this a separate patch). I didn't look at putting it into wt-status.c, but I think that is worth pursuing. --- builtin-commit.c | 14 ++++++++++---- 1 files changed, 10 insertions(+), 4 deletions(-) diff --git a/builtin-commit.c b/builtin-commit.c index 30828c5..4e62510 100644 --- a/builtin-commit.c +++ b/builtin-commit.c @@ -472,6 +472,7 @@ static int prepare_to_commit(const char *index_file, const char *prefix) const char *author_ident; const char *committer_ident; const char *parent_ident; + int showed_ident = 0; if (!no_verify && run_hook(index_file, "pre-commit", NULL)) return 0; @@ -582,15 +583,20 @@ static int prepare_to_commit(const char *index_file, const char *prefix) getenv("GIT_COMMITTER_EMAIL"))); if (strcmp(author_ident, committer_ident)) fprintf(fp, - "# Author: %s\n", + "%s# Author: %s\n", + showed_ident++ ? "" : "#\n", fmt_name(author_name, author_email)); - parent_ident = xstrdup(get_parent_ident()); - if (strcmp(parent_ident, committer_ident)) + parent_ident = get_parent_ident(); + if (!parent_ident || strcmp(parent_ident, committer_ident)) fprintf(fp, - "# Committer: %s\n", + "%s# Committer: %s\n", + showed_ident++ ? "" : "#\n", committer_ident); + if (showed_ident) + fprintf(fp, "#\n"); + saved_color_setting = wt_status_use_color; wt_status_use_color = 0; commitable = run_status(fp, index_file, prefix, 1); -- 1.5.5.1.183.g593d89.dirty -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html