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

Re: [PATCH v3] bisect: create 'bisect_flags' parameter in find_bisection()

From
Johannes Schindelin <johannes.schindelin@gmx.de>
Date
Apr 18, 2018, 20:31 UTC
Message-ID
<nycvar.QRO.7.76.6.1804182228210.4241@ZVAVAG-6OXH6DA.rhebcr.pbec.zvpebfbsg.pbz>
In-Reply-To
<20180415134925.6203-1-haraldnordgren@gmail.com>
Hi Harald,
On Sun, 15 Apr 2018, Harald Nordgren wrote:
Show 5 quoted lines
> Make it possible to implement bisecting only on first parents or on
> merge commits by passing flags to find_bisection(), instead of just
> a 'find_all' boolean.
> 
> Signed-off-by: Harald Nordgren <haraldnordgren@gmail.com>
Very nice. Just two little suggestions:
Show 10 quoted lines
> diff --git a/bisect.c b/bisect.c
> index a579b50884..19dac7491d 100644
> --- a/bisect.c
> +++ b/bisect.c
> @@ -254,7 +254,7 @@ static struct commit_list *best_bisection_sorted(struct commit_list *list, int n
>   */
>  static struct commit_list *do_find_bisection(struct commit_list *list,
>  					     int nr, int *weights,
> -					     int find_all)
> +					     unsigned int bisect_flags)

For flags, we frequently seem to use the type `unsigned` (which is the same as `unsigned int`, just shorter).

Show 9 quoted lines
>  {
>  	int n, counted;
>  	struct commit_list *p;
> @@ -313,7 +313,7 @@ static struct commit_list *do_find_bisection(struct commit_list *list,
>  		clear_distance(list);
>  
>  		/* Does it happen to be at exactly half-way? */
> -		if (!find_all && halfway(p, nr))
> +		if (!(bisect_flags & BISECT_FIND_ALL) && halfway(p, nr))

Rather than expanding the short & sweet `find_all` to `(bisect_flags & BISECT_FIND_ALL)` in three places in this function, I would rather just define this local variable in the beginning:

	unsigned int find_all = bisect_flags & BISECT_FIND_ALL;
This would also reduce the size of the diff.
All in all, very nice!

Ciao, Johannes

P.S.: I fully agree with Junio and eagerly await what comes next ;-)
Previous: Junio C HamanoNext: Harald Nordgren
Message 7 of 9 in “Create 'bisect_flags' parameter in find_bisection() in preparation of passing multiple options”
  1. Create 'bisect_flags' parameter in find_bisection() in preparation of passing multiple optionsHarald Nordgren, Apr 15, 2018
  2. Christian CouderApr 15, 2018
  3. Make it possible to implement bisecting only on first parents or on merge commits by passing flags to find_bisection(), instead of just a find_all booleanHarald Nordgren, Apr 15, 2018
  4. Christian CouderApr 15, 2018
  5. bisect: create 'bisect_flags' parameter in find_bisection()Harald Nordgren, Apr 15, 2018
  6. Junio C HamanoApr 17, 2018
  7. Johannes SchindelinApr 18, 2018
  8. bisect: create 'bisect_flags' parameter in find_bisection()Harald Nordgren, Apr 18, 2018
  9. Johannes SchindelinApr 20, 2018

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.