Git pull ack emails..

From: Linus Torvalds
Date: Tue Oct 23 2018 - 04:41:54 EST


So I've obviously started pulling stuff for the merge window, and one
of the things I noticed with Greg doing it for the last few weeks was
that he has this habit (or automation) to send Ack emails when he
pulls.

In fact, I reacted to them not being there when he sent himself his
fake pull messages. Because he didn't then send himself an ack for
having pulled it ;(

And I actually went into this saying "I'll try to do the same".

But after having actually started doing the pulls, I notice how it
doesn't work well with my traditional workflow, and so I haven't been
doing it after all.

In particular, the issue is that after each pull, I do a build test
before the pull is really "final", and while that build test is
ongoing (which takes anything from a few minutes to over an hour when
I'm on the road and using my laptop), I go on and look at the *next*
pull (or one of the other pending ones).

So by the time the build test has finished, the original pull request
is already long gone - archived and done - and I have moved on.

End result: answering the pull request is somewhat inconvenient to my
flow, which is why I haven't done it.

In contrast, this email is written "after the fact", just scripting
"who did I pull for and then push out" by just looking at the git
tree. Which sucks, because it means that I don't actually answer the
original email at all, and thus lose any cc's for other people or
mailing lists. That would literally be done better by simple
automation.

So I've got a few options:

- just don't do it

- acking the pull request before it's validated and finalized.

- starting the reply when doing the pull, leaving the email open in a
separate window, going on to the next pull request, and then when
build tests are done and I'll start the next one, finish off the old
pending email.

and obviously that first option is the easiest one. I'm not sure what
Greg did, and during the later rc's it probably doesn't matter,
because there likely simply aren't any overlapping operations.

Because yes, the second option likely works fine in most cases, but my
pull might not actually be final *if* something goes bad (where bad
might be just "oops, my tests showed a semantic conflict, I'll need to
fix up my merge" to "I'm going to have to look more closely at that
warning" to "uhhuh, I'm going to just undo the pull entirely because
it ended up being broken").

The third option would work reliably, and not have the "oh, my pull is
only tentatively done" issue. It just adds an annoying back-and-forth
switch to my workflow.

So I'm mainly pinging people I've already pulled to see how much
people actually _care_. Yes, the ack is nice, but do people care
enough that I should try to make that workflow change? Traditionally,
you can see that I've pulled from just seeing the end result when it
actually hits the public tree (which is yet another step removed from
the steps above - I do build tests between every pull, but I generally
tend to push out the end result in batches, usually a couple of times
a day).

Comments?

Linus