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

Re: [PATCH v2 01/10] update-index: use enum for untracked cache options

From
Torsten Bögershausen <tboegi@web.de>
Date
Dec 17, 2015, 12:06 UTC
Message-ID
<5672A537.2060408@web.de>
In-Reply-To
<1450196907-17805-2-git-send-email-chriscool@tuxfamily.org>
On 15.12.15 17:28, Christian Couder wrote:
Show 48 quoted lines
> Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
> ---
>  builtin/update-index.c | 18 +++++++++++++-----
>  1 file changed, 13 insertions(+), 5 deletions(-)
> 
> diff --git a/builtin/update-index.c b/builtin/update-index.c
> index 7431938..2430a68 100644
> --- a/builtin/update-index.c
> +++ b/builtin/update-index.c
> @@ -35,6 +35,14 @@ static int mark_skip_worktree_only;
>  #define UNMARK_FLAG 2
>  static struct strbuf mtime_dir = STRBUF_INIT;
>  
> +/* Untracked cache mode */
> +enum uc_mode {
> +	UC_UNSPECIFIED = -1,
> +	UC_DISABLE = 0,
> +	UC_ENABLE,
> +	UC_FORCE
> +};
> +
>  __attribute__((format (printf, 1, 2)))
>  static void report(const char *fmt, ...)
>  {
> @@ -902,7 +910,7 @@ static int reupdate_callback(struct parse_opt_ctx_t *ctx,
>  int cmd_update_index(int argc, const char **argv, const char *prefix)
>  {
>  	int newfd, entries, has_errors = 0, line_termination = '\n';
> -	int untracked_cache = -1;
> +	enum uc_mode untracked_cache = UC_UNSPECIFIED;
>  	int read_from_stdin = 0;
>  	int prefix_length = prefix ? strlen(prefix) : 0;
>  	int preferred_index_format = 0;
> @@ -997,7 +1005,7 @@ int cmd_update_index(int argc, const char **argv, const char *prefix)
>  		OPT_BOOL(0, "untracked-cache", &untracked_cache,
>  			N_("enable/disable untracked cache")),
>  		OPT_SET_INT(0, "force-untracked-cache", &untracked_cache,
> -			    N_("enable untracked cache without testing the filesystem"), 2),
> +			    N_("enable untracked cache without testing the filesystem"), UC_FORCE),
>  		OPT_END()
>  	};
>  
> @@ -1104,10 +1112,10 @@ int cmd_update_index(int argc, const char **argv, const char *prefix)
>  		the_index.split_index = NULL;
>  		the_index.cache_changed |= SOMETHING_CHANGED;
>  	}
> -	if (untracked_cache > 0) {
> +	if (untracked_cache > UC_DISABLE) {

I think the "correct way" for a comparison between an enum and an int is to cast the enum into an int. But, if we have an enum, these kind of comparision should go away, and replaced with a switch-case (or if) statemant.

>  		struct untracked_cache *uc;
>  
> -		if (untracked_cache < 2) {
> +		if (untracked_cache < UC_FORCE) {
Same here
Previous: Christian CouderNext: Christian Couder
Message 3 of 18 in “Untracked cache improvements”
  1. 00/10 Untracked cache improvementsChristian Couder, Dec 15, 2015
  2. 01/10 update-index: use enum for untracked cache optionsChristian Couder, Dec 15, 2015
  3. Torsten BögershausenDec 17, 2015
  4. 02/10 update-index: add --test-untracked-cacheChristian Couder, Dec 15, 2015
  5. David TurnerDec 17, 2015
  6. 03/10 update-index: add untracked cache notificationsChristian Couder, Dec 15, 2015
  7. 04/10 update-index: move 'uc' var declarationChristian Couder, Dec 15, 2015
  8. 05/10 dir: add add_untracked_cache()Christian Couder, Dec 15, 2015
  9. 06/10 dir: add remove_untracked_cache()Christian Couder, Dec 15, 2015
  10. 07/10 dir: free untracked cache when removing itChristian Couder, Dec 15, 2015
  11. Junio C HamanoDec 15, 2015
  12. 08/10 config: add core.untrackedCacheChristian Couder, Dec 15, 2015
  13. 09/10 t7063: add tests for core.untrackedCacheChristian Couder, Dec 15, 2015
  14. 10/10 dir: do not use untracked cache ident anymoreChristian Couder, Dec 15, 2015
  15. Junio C HamanoDec 15, 2015
  16. Christian CouderDec 17, 2015
  17. Junio C HamanoDec 17, 2015
  18. Christian CouderDec 18, 2015

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.