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

Re: [PATCH 1/2] for_each_bisect_ref(): don't trim refnames

From
Jeff King <peff@peff.net>
Date
Jun 14, 2017, 09:22 UTC
Message-ID
<20170614092256.c3fmfcokuwbbcvbz@sigill.intra.peff.net>
In-Reply-To
<3615deefe90bebe746618b04c055a466a442f85b.1497430232.git.mhagger@alum.mit.edu>
On Wed, Jun 14, 2017 at 11:07:26AM +0200, Michael Haggerty wrote:
Show 14 quoted lines
> `for_each_bisect_ref()` is called by `for_each_bad_bisect_ref()` with
> a term "bad". This used to make it call `for_each_ref_in_submodule()`
> with a prefix "refs/bisect/bad". But the latter is the name of the
> reference that is being sought, so the empty string was being passed
> to the callback as the trimmed refname. Moreover, this questionable
> practice was turned into an error by
> 
>     b9c8e7f2fb prefix_ref_iterator: don't trim too much, 2017-05-22
> 
> It makes more sense (and agrees better with the documentation of
> `--bisect`) for the callers to receive the full reference names. So
> 
> * Add a new function, `for_each_fullref_in_submodule()`, to the refs
>   API.

You might want to mention that this is really just a hole in the existing API. We have for_each_ref_in_submodule() and for_each_fullref_in(), but not the missing link.

I don't think that makes it any more or less correct, but I thought at first you had to invent a new function totally.

Show 9 quoted lines
> * Change `for_each_bad_bisect_ref()` to call the new function rather
>   than `for_each_ref_in_submodule()`.
> 
> Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
> ---
>  refs.c     | 12 ++++++++++++
>  refs.h     |  5 ++++-
>  revision.c |  2 +-
>  3 files changed, 17 insertions(+), 2 deletions(-)
The change itself looks fine to me.

Since we obviously don't have even a single test for "--bisect", that might be worth adding.

-Peff
Previous: Michael HaggertyNext: Jeff King
Message 6 of 12 in “[BUG] b9c8e7f2fb6e breaks git bisect visualize”
  1. Øyvind A. HolmJun 14, 2017
  2. Michael HaggertyJun 14, 2017
  3. 0/2 Fix a refname trimming problem in `log --bisect`Michael Haggerty, Jun 14, 2017
  4. 2/2 prefix_ref_iterator_advance(): relax the check of trim lengthMichael Haggerty, Jun 14, 2017
  5. 1/2 for_each_bisect_ref(): don't trim refnamesMichael Haggerty, Jun 14, 2017
  6. Jeff KingJun 14, 2017
  7. Jeff KingJun 14, 2017
  8. Junio C HamanoJun 14, 2017
  9. Junio C HamanoJun 15, 2017
  10. Jeff KingJun 14, 2017
  11. Junio C HamanoJun 14, 2017
  12. Jeff KingJun 14, 2017

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.