[plt-dev] One e-mail per commit?

From: Eli Barzilay (eli at barzilay.org)
Date: Mon May 17 12:36:13 EDT 2010

On May 17, Michael Sperber wrote:
> Sam Tobin-Hochstadt <samth at ccs.neu.edu> writes:
> > On Mon, May 17, 2010 at 8:33 AM, Eli Barzilay <eli at barzilay.org> wrote:
> >>
> >>
> >>> Possibly, it makes sense to avoid sending e-mails on merge commits,
> >>> but that's only a bonus.
> >>
> >> I don't think so: eg, Sam's recent merge of a long lived branch could
> >> have (or might have) been pushed as a single merge commit.
> You mean the individual commits from that branch did not get copied to
> the main repo?

It depends on the policy of reporting: right now, if those commits
were already reported on some branch then they might not be reported
again on the master branch.

> > Further, I don't see how it would be useful to try to understand that
> > merge in terms of 30+ emails, all sent at the same time.  

Note that Sam's merge was 86 commits.

> I'm assuming that the granularity of your commits communicate
> something useful about the genesis of what you're doing - that's why
> we want them in the version history in the first place.  If the 30+
> commits can only be understood as a whole, they should be pushed as
> a single commit, not 30+.

I'm sure that those 86 commits are important for *Sam* -- but as far
as *I'm* concerned it's all a big blurry "stuff happened in typed
scheme".  I certainly don't want to start thinking about squashing my
commits just because it's uninteresting for other people -- and
together with that, I don't want to hear my laptop beep constantly for
an hour because Sam used a long branch.

Here's a more concrete example that I've used a few times now: when I
wrote the newly optimized sort, I had about 5 commits in one night
(should have been done on a git branch, if we had git at the time).
I can promise you that the intermediate commits are uninteresting to
anyone (who is not interested in maintaining that code) -- and I had
them all at the same time before I started committing, so I *could*
have done the whole thing at one shot (and with svn, there was an
argument saying that I should have).  But those commits are very
important to me -- and the though of considering preserving that
history vs apologizing for 5 emails instead of one seems like a very
bad idea.

(And to put things in an even more concrete light: say that we had an
email/commit.  I often mail myself a list of things to buy when I go
to a supermarket so I can read it there -- what if Sam pushed his 86
commits while I was on my way?  I'd be standing there in the parking
lot (no good reception inside), slowly making my way to get to my
shopping list.)

          ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
                    http://barzilay.org/                   Maze is Life!

Posted on the dev mailing list.