Re: Git pull ack emails..

From: Jens Axboe
Date: Tue Oct 23 2018 - 05:56:37 EST


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