On Thu, Mar 9, 2017 at 3:55 PM, Jeff King <peff@xxxxxxxx> wrote: > On Thu, Mar 09, 2017 at 03:52:09PM +0100, Ævar Arnfjörð Bjarmason wrote: > >> - filter->with_commit_tag_algo = 1; >> + if ((filter->merge_commit + filter->with_commit + >> filter->no_commit) > 1) >> + filter->with_commit_tag_algo = 0; >> + else >> + filter->with_commit_tag_algo = 1; >> filter_refs(&array, filter, FILTER_REFS_TAGS); >> ref_array_sort(sorting, &array); >> >> I think I'll amend the tip of my WIP v2 to have something like that, >> and then we can follow-up with making these cases where you supply >> multiple options faster. > > Yeah, that's another option. I think you may find that it's unbearably > slow if you have a lot of tags. It's what I'm going for in my v2 currently. I think it's a rare enough (and new) use-case that it's OK to slow it down for now & investigate your line of patching separately. >> > Looking at this, I'm pretty sure that using "--contains" with "--merged" >> > has similar problems, as they both use the UNINTERESTING bit. So even >> > without your patch, there is a lurking bug. >> >> I'm currently running this: >> https://gist.github.com/avar/45cf288ce7cdc43e7395c6cbf9a98d68 > > Cute. I'll be curious if it turns up anything. Currently at ~500 attempts out of 5K with no bad results.