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

Re: [PATCH DIFF-CLEANUP 1/2] Make the diff_options bitfields be an unsigned with explicit masks.

From
Junio C Hamano <gitster@pobox.com>
Date
Nov 8, 2007, 06:39 UTC
Message-ID
<7vy7d95ji1.fsf@gitster.siamese.dyndns.org>
In-Reply-To
<1194430832-6224-7-git-send-email-madcoder@debian.org>
Pierre Habouzit <madcoder@debian.org> writes:
> reverse_diff was a bit-value in disguise, it's merged in the flags now.
>
> Signed-off-by: Pierre Habouzit <madcoder@debian.org>

Just my first impression, as I am in the middle of unrelated bisect. I haven't read beyond diff-lib.c changes.

Show 12 quoted lines
> diff --git a/builtin-diff-tree.c b/builtin-diff-tree.c
> index 0b591c8..e71841a 100644
> --- a/builtin-diff-tree.c
> +++ b/builtin-diff-tree.c
> @@ -118,12 +118,12 @@ int cmd_diff_tree(int argc, const char **argv, const char *prefix)
>  	}
>  
>  	if (!read_stdin)
> -		return opt->diffopt.exit_with_status ?
> -		    opt->diffopt.has_changes: 0;
> +		return DIFF_OPT_TST(&opt->diffopt, EXIT_WITH_STATUS)
> +			&& DIFF_OPT_TST(&opt->diffopt, HAS_CHANGES);
Had to think a bit about this, although it is correct.
>  	if (opt->diffopt.detect_rename)
>  		opt->diffopt.setup |= (DIFF_SETUP_USE_SIZE_CACHE |
> -				       DIFF_SETUP_USE_CACHE);
> +							   DIFF_SETUP_USE_CACHE);
I wonder what this is about.
Show 10 quoted lines
> diff --git a/combine-diff.c b/combine-diff.c
> index fe5a2a1..3cab04b 100644
> --- a/combine-diff.c
> +++ b/combine-diff.c
> @@ -664,7 +664,7 @@ static void show_patch_diff(struct combine_diff_path *elem, int num_parent,
>  	int mode_differs = 0;
>  	int i, show_hunks;
>  	int working_tree_file = is_null_sha1(elem->sha1);
> -	int abbrev = opt->full_index ? 40 : DEFAULT_ABBREV;
> +        int abbrev = DIFF_OPT_TST(opt, FULL_INDEX) ? 40 : DEFAULT_ABBREV;
Indent?
Show 12 quoted lines
> diff --git a/diff-lib.c b/diff-lib.c
> index da55713..69b5dc9 100644
> --- a/diff-lib.c
> +++ b/diff-lib.c
> @@ -188,8 +188,7 @@ static int handle_diff_files_args(struct rev_info *revs,
>  		else if (!strcmp(argv[1], "-n") ||
>  				!strcmp(argv[1], "--no-index")) {
>  			revs->max_count = -2;
> -			revs->diffopt.exit_with_status = 1;
> -			revs->diffopt.no_index = 1;
> +			revs->diffopt.flags |= DIFF_OPT_EXIT_WITH_STATUS | DIFF_OPT_NO_INDEX;
>  		}

Now this looks harder to read that everybody else uses DIFF_OPT_SET() for this, without DIFF_OPT_ prefix for the bitmask names.

Previous: Pierre HabouzitNext: Pierre Habouzit
Message 9 of 19 in “Preliminary patches to the diff.[hc] parseoptification”
  1. Pierre HabouzitNov 7, 2007
  2. 1/1 Make gcc warning about empty if body go away.Pierre Habouzit, Nov 7, 2007
  3. 1/4 parse-options new features.Pierre Habouzit, Nov 7, 2007
  4. 2/4 Use OPT_SET_INT and OPT_BIT in builtin-branchPierre Habouzit, Nov 7, 2007
  5. 3/4 Use OPT_BIT in builtin-for-each-refPierre Habouzit, Nov 7, 2007
  6. 4/4 Use OPT_BIT in builtin-pack-refsPierre Habouzit, Nov 7, 2007
  7. 1/2 Make the diff_options bitfields be an unsigned with explicit masks.Pierre Habouzit, Nov 7, 2007
  8. 2/2 Reorder diff_opt_parse options more logically per topics.Pierre Habouzit, Nov 7, 2007
  9. Junio C HamanoNov 8, 2007
  10. Pierre HabouzitNov 8, 2007
  11. 1/2 Make the diff_options bitfields be an unsigned with explicit masks.Pierre Habouzit, Nov 10, 2007
  12. Junio C HamanoNov 8, 2007
  13. Pierre HabouzitNov 9, 2007
  14. Junio C HamanoNov 8, 2007
  15. Junio C HamanoNov 8, 2007
  16. Pierre HabouzitNov 8, 2007
  17. Andreas EricssonNov 8, 2007
  18. Jon LoeligerNov 8, 2007
  19. Andreas EricssonNov 8, 2007

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.