Subject: Re: [PATCH] ls-refs: reuse buffer when sending refs

From: Junio C Hamano <[email-masked]>
Date: Wed, 25 Aug 2021 10:23:53 -0700

Patrick Steinhardt <[email-masked]> writes:

> I don't know. I just happen to revisit this topic every few days, and
> every time I stumble upon some more performance improvements. It would
> feel wrong to shift the goalposts of the other series every time I find
> something new, so I instead opt for separate patch series.
>
> If this proves to be annoying for reviewers, then feel free to shout at
> me and I'll change my approach.

The easiest would be to keep them independent and to justify them
independently.  There is no shifting the goalposts involved if you
did so.  Of course, you wouldn't be able to include the improvements
the follow-on topics make as part of the "advertising material" to
sell the benefit of the base series, though.  It can only work when
the follow-on topic is truly independent and is a good idea by
itself.  Another is to keep these follow-on topics unpublished
before the base topic graduates, and pretend that you came up with
them much later than you originally did.  Nobody would notice and
mind, as the base topic would be cast in stone by that time.

At the receiving end, what is most irritating is a series of topics
that pretends to be about different things but depend on each other
to function well [*].  I would imagine that it would be a lot more
trivial and pleasant to handle if any of the patches involved did
not come before these follow-on topics are all already thought of by
the author and instead came in a well-structured single topic, but
we do not live in a perfect world ;-).

In the case of this particular patch, I think the logic behind the
change makes sense by itself, so if I were doing it, I'd probably
choose to sell it as an independent change unrelated to the other
topic.

Thanks.

[Footnote]

* Any time the base topic gets rerolled, I'd be the one who ends up
  having to remember which other topics that did not rerolled depend
  on it in what order and rebase them correctly, and then I have to
  replace the follow-on topics that have been rerolled.  Even a
  single missed subtopic will cause the day's integration work
  redone, and all that robs time and concentration that the topics
  by other contributors needs from me, which would make me grumpy
  X-<.