On Thu, Jun 22, 2017 at 11:13:15PM -0400, Jeff King wrote: > On Thu, Jun 22, 2017 at 06:25:46PM -0400, Jeff King wrote: > > > So here's a patch on top of what I posted before that pushes the reflog > > check into the loop (it just decides whether to pull from the reflogs or > > from the commit queue at the top of the loop). > > > > I was surprised to find, though, that simplify_commit() does not > > actually do the pathspec limiting! It's done by > > try_to_simplify_commit(), which is part of add_parents_to_list(). I > > hacked around it in the later part of the loop by calling > > try_to_simplify myself and checking the TREESAME flag. But I have a > > feeling I'm missing something about how the traversal is supposed to > > work. > > > > This does behave sensibly with "--no-merges" and "--merges", as well as > > pathspec limiting. > > And here's one more patch on top of those that's necessary to get the > tests to pass (I don't expect anybody to necessarily be applying this > slow string of patches; it's just to show the direction I'm looking in). I've looked at your original patch, which modified reflog-walk.c, and it does fix the issue. I'm happy to send in a patch with that and a test (provided you're okay with me adding your sign-off), or if you wanted to send in something a bit more complete, like the series of patches here, that's fine, too. -- brian m. carlson / brian with sandals: Houston, Texas, US https://www.crustytoothpaste.net/~bmc | My opinion only OpenPGP: https://keybase.io/bk2204
Attachment:
signature.asc
Description: PGP signature