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

Re: [PATCH 1/9] fetch: drop unused DISPLAY_FORMAT_UNKNOWN enum value

From
Jeff King <peff@peff.net>
Date
May 19, 2023, 00:13 UTC
Message-ID
<20230519001309.GA2442034@coredump.intra.peff.net>
In-Reply-To
<9417a62e9bbd30d9350b65e5396a31f9cb7c60b6.1684324059.git.ps@pks.im>
On Wed, May 17, 2023 at 01:48:42PM +0200, Patrick Steinhardt wrote:
Show 5 quoted lines
> With 50957937f9 (fetch: introduce `display_format` enum, 2023-05-10), a
> new enumeration was introduced to determine the display format that is
> to be used by git-fetch(1). The `DISPLAY_FORMAT_UNKNOWN` value isn't
> ever used though, and neither do we rely on the explicit `0` value for
> initialization anywhere.

To be slightly pedantic, we'd also want to make sure the we do not rely on the zero value for reading, like:

  if (display_state->format)
     ....

But having looked over the code, we don't (it's always a switch or equality with a known name), so this is safe to do.

Thanks for cleaning this up.
Show 12 quoted lines
> diff --git a/builtin/fetch.c b/builtin/fetch.c
> index 849a9be421..9147b700e5 100644
> --- a/builtin/fetch.c
> +++ b/builtin/fetch.c
> @@ -58,7 +58,6 @@ enum {
>  };
>  
>  enum display_format {
> -	DISPLAY_FORMAT_UNKNOWN = 0,
>  	DISPLAY_FORMAT_FULL,
>  	DISPLAY_FORMAT_COMPACT,
>  	DISPLAY_FORMAT_PORCELAIN,
Just for similar situations in the future, I think we could do:
  DISPLAY_FORMAT_FULL = 1,

if we were worried about keeping the zero-behavior the same for existing callers. But given how new and how limited this code is, I feel confident that we've checked all of the code, and what you've written above is preferable.

-Peff
Previous: Patrick SteinhardtNext: Patrick Steinhardt
Message 3 of 16 in “fetch: smallish cleanups”
  1. 0/9 fetch: smallish cleanupsPatrick Steinhardt, May 17, 2023
  2. 1/9 fetch: drop unused DISPLAY_FORMAT_UNKNOWN enum valuePatrick Steinhardt, May 17, 2023
  3. Jeff KingMay 19, 2023
  4. 2/9 fetch: drop unneeded NULL-check for `remote_ref`Patrick Steinhardt, May 17, 2023
  5. Jeff KingMay 19, 2023
  6. 3/9 fetch: pass through `fetch_config` directlyPatrick Steinhardt, May 17, 2023
  7. Jeff KingMay 19, 2023
  8. Patrick SteinhardtMay 22, 2023
  9. Jeff KingMay 22, 2023
  10. 4/9 fetch: use `fetch_config` to store "fetch.prune" valuePatrick Steinhardt, May 17, 2023
  11. Jeff KingMay 19, 2023
  12. 5/9 fetch: use `fetch_config` to store "fetch.pruneTags" valuePatrick Steinhardt, May 17, 2023
  13. 6/9 fetch: use `fetch_config` to store "fetch.showForcedUpdates" valuePatrick Steinhardt, May 17, 2023
  14. 7/9 fetch: use `fetch_config` to store "fetch.recurseSubmodules" valuePatrick Steinhardt, May 17, 2023
  15. 8/9 fetch: use `fetch_config` to store "fetch.parallel" valuePatrick Steinhardt, May 17, 2023
  16. 9/9 fetch: use `fetch_config` to store "submodule.fetchJobs" valuePatrick Steinhardt, May 17, 2023

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.