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

Re: [PATCH] commit-reach: fix in_merge_bases_many bug

From
Derrick Stolee <stolee@gmail.com>
Date
Oct 2, 2020, 20:08 UTC
Message-ID
<ac3ac80d-7f8e-6b16-03fa-1cd38b5d860b@gmail.com>
In-Reply-To
<xmqqr1qg8kfa.fsf@gitster.c.googlers.com>
On 10/2/2020 4:03 PM, Junio C Hamano wrote:
Show 17 quoted lines
> Derrick Stolee <stolee@gmail.com> writes:
> 
>> Thanks for double-checking. I also think that dropping the
>> "hide the error" patch is prudent.
> 
> Thanks again for a quick and straight-forward fix.  As I mentioned
> elsewhere in the thread, it appears that we invented duplicate API
> with parallel implementation in get_reachable_subset(), which seems
> to be a strict superset of in_merge_bases_many(), and that may be
> what led to an initial and incorrect "get_reachable_subset() is not
> broken the same way as in_merge_bases_many() so use it instead"
> response.  I haven't paid attention to the quality of implementation
> of get_reachable_subset() as much as in_merge_bases_many() (e.g. I
> know of an obvious way to optimize the latter) so far, but it would
> be wonderful if we can eventually rewrite in_merge_bases_many() as a
> very thin wrapper() around get_reachable_subset() without any
> downside.

I have self-assigned myself https://github.com/gitgitgadget/git/issues/740 which will investigate these duplicates and see what can be done.

I know that the initial refactoring focused on keeping the "public" interface the same and just creating shims between different method prototypes. In this case, it might be worth doing a full replacement since in_merge_bases_many() has so few callers.

I'll be proactive to look for other cases that might be tricky for new contributors to find the "right" way to do it.

Thanks, -Stolee

Previous: Junio C HamanoNext: Srinidhi Kaushik
Message 6 of 7 in “commit-reach: fix in_merge_bases_many bug”
  1. commit-reach: fix in_merge_bases_many bugDerrick Stolee via GitGitGadget, Oct 2, 2020
  2. Junio C HamanoOct 2, 2020
  3. Junio C HamanoOct 2, 2020
  4. Derrick StoleeOct 2, 2020
  5. Junio C HamanoOct 2, 2020
  6. Derrick StoleeOct 2, 2020
  7. Srinidhi KaushikOct 2, 2020

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.