git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH v2 1/2] format-patch: Add a config option format.from to set the default for --from

From
Jeff King <peff@peff.net>
Date
Aug 1, 2016, 17:38 UTC
Message-ID
<20160801173847.qph2tora75h6ebsk@sigill.intra.peff.net>
In-Reply-To
<20160730191111.cd6ay3l4hweyjf7f@x>
On Sat, Jul 30, 2016 at 12:11:11PM -0700, Josh Triplett wrote:
Show 21 quoted lines
> +enum from {
> +	FROM_AUTHOR,
> +	FROM_USER,
> +	FROM_VALUE,
> +};
> +
> +static void set_from(enum from type, const char *value)
> +{
> +	free(from);
> +	switch (type) {
> +	case FROM_AUTHOR:
> +		from = NULL;
> +		break;
> +	case FROM_USER:
> +		from = xstrdup(git_committer_info(IDENT_NO_DATE));
> +		break;
> +	case FROM_VALUE:
> +		from = xstrdup(value);
> +		break;
> +	}
> +}

Thanks for looking into reducing the duplication. TBH, I am not sure it is really an improvement, just because of the amount of boilerplate (and this function interface is kind of weird, because of the rules for when "value" should or should not be NULL).

I guess another way to do it would be:
  #define FROM_AUTO_IDENT ((const char *)(intptr_t)1))
  void set_from(const char *value)
  {
	if (value == FROM_AUTO_IDENT)
		value = git_committer_info(IDENT_NO_DATE);
	free(from);
	from = xstrdup_or_null(value);
  }

but I think the effort to polish further here is outweighing the magnitude of the patch itself. So I offer that as "how I would have done it" in case you like it, but again, I am fine with either this version or the previous.

-Peff
Previous: Josh TriplettNext: Josh Triplett
Message 2 of 12 in “format-patch: Add a config option format.from to set the default for --from”
  1. 1/2 format-patch: Add a config option format.from to set the default for --fromJosh Triplett, Jul 30, 2016
  2. Jeff KingAug 1, 2016
  3. Josh TriplettAug 7, 2016
  4. Junio C HamanoAug 8, 2016
  5. Josh TriplettAug 8, 2016
  6. Junio C HamanoAug 8, 2016
  7. Junio C HamanoAug 1, 2016
  8. Josh TriplettAug 8, 2016
  9. Jeff KingAug 8, 2016
  10. Josh TriplettAug 8, 2016
  11. Jeff KingAug 8, 2016
  12. 2/2 format-patch: Default to --fromJosh Triplett, Jul 30, 2016

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.