Re: [PATCH 3/3] commit: Show the committer ident when is different from the parent

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux