On Thu, Nov 5, 2020 at 6:00 PM Junio C Hamano <gitster@xxxxxxxxx> wrote: > > "Elijah Newren via GitGitGadget" <gitgitgadget@xxxxxxxxx> writes: > > > Changes since v4: > > ... > > * Add a patch which updates shortlog to use the new strset API. > > This makes my life so much simpler ;-) > > Would the implementation be very different from Peff's that you can > take the authorship? Thanks. Yes; I didn't use his patch, I simply implemented what was needed from scratch. I'm not attached to being author of this though; the changes were trivial. Feel free to change as you see fit. If more detail is needed... There's only two things in my patch: (1) deleting a bunch of code, (2) search and replace strset_check_and_add() with !strset_add(). His patch has three things: (1) deleting a bunch of code, (2) introducing strset_dup() [which may have been a copy of my implementation of strset_check_and_add() from an earlier round of the series; the code is identical to my implementation, but it's only a few lines so he might have just reimplemented it identically], (3) search and replace strset_check_and_add() with strset_dup(). If I were to modify his patch into mine (which I didn't do), it'd require two things: deleting the strdup() definition and still doing a search and replace. In other words, it'd be approximately equivalent work to just doing the patch from scratch. Further, I wrote a patch that was nearly the same as my current submission a few days ago, but it used my old strset_check_and_add(). It triggered some weird windows bug that I think was an infrastructure flake, but I was worried at the time that it'd require familiarity with shortlog and its tests to address. Since I didn't think my series really depended on that change (shortlog could change to take advantage of the new strset later), I just dropped it. Then after further reviews, the series changed a bit more, and Peff at the end added a patch to reintroduce strset_check_and_add() with a different name and use it, then you suggested to modify strset_add() so it can just be used directly. So, at the end, taking my existing patch that pre-dated his submission and tweaking it was the easiest route for me. I didn't actually look at his latest patch until after you asked if it was okay for me to take the authorship. I see it as two similar from-scratch implementations that were nearly trivial in either event.