On 10/23/18 2:41 AM, Linus Torvalds wrote: > 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).
I like getting an ack when something has been seen, I don't necessarily need one for when it's also finalized. I'm just going to assume it is, unless I hear otherwise. I always reply to peoples pulls, even if it's just saying "Pulled, thanks". What happens when you don't send one is that: 1) I regularly check the git repo to see if it's actually in. 2) If I do get a reply to one, I cringe. Why? Because it's usually yelling about something wrong. This means I also more regularly check email to see if there's yelling queued up. I'd say do whatever works the best for your workflow, but one of option 2 or 3 would be preferable. #2 seems like it would fit just fine with your existing workflow. -- Jens Axboe