Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

The Tinderbox chainsaw massacre

4 views
Skip to first unread message

John McMullen

unread,
Apr 24, 1999, 3:00:00 AM4/24/99
to
Sorry to be a pain, but I'm just looking at tinderbox bustage over the
last couple of weeks, in the light of the supreme number one checkin
rule, which is:

Before checking any code in that gets built on more than one platform,
you must to one of the following:

Build it yourself on all those platforms, or

Get a buddy on the platforms you don't have to build it for you, or

Organize the build and release team to organize a carpool, or

Ifdef your code so that it only gets turned on on the platform(s)
you tested it on, and then get buddies to check out and turn it
on incrementally on the other platforms. This is the riskiest
strategy.


Yes, this means you. It means me. Yes this takes time. If you check in a
new API or change an API, you are especially likely to break the build.
Yes, it can take you an entire extra working day (say, 10 hours). Gosh,
that's terrible. I complain about this myself, but what's the
alternative?

If you don't do it, you can make the tree unusable for at least an hour,
and thus cause damage of, say 100 engineers x 1 hour. These people are
(1) waiting until they can check out safely, or (2) waiting for the tree
to turn green before checking in.

Now is 10 hours of your time worth 100 hours of others' time?

Obviously, a number of people believe it is. It is painfully obvious
from the tree, its colors and comments, that their rule of thumb is

Build it on one platform (usually Windows, but not always).

Say "oops" a number of times for an interval of several hours,
and check in incremental fixes, using
tinderbox to check for buildability on other platforms (while
how many other programmers are waiting?)

Now, this technique is quick and efficient (for you). It costs you an
hour or so, instead of 10 hours. What a saving (to you)!

Optionally, you might also complain that CVS should have prevented you
from making a certain mistake, or complain that somebody else's compiler
is bad, and get upset that you lost (gasp) two hours of your own time.

None of these grumblings fool anybody. The fact is, you completely
ignored the rules. Some people might say you had been, er, a little
inconsiderate.

Could we please have a little more courtesy?

--
John R. McMullen
Mathematician, Software Critic, XPApps drudge, Netscape Communications Corp.
-- Why stop with "it's"? We could have m'y, you'r, hi's, he'r, ou'r, and thei'r.

Rick Gessner

unread,
Apr 25, 1999, 3:00:00 AM4/25/99
to John McMullen
This is completely fair -- and I'm particularly sheepish on this subject right now
because I broke the tree for three hours *just last night*.
To John's point I'll add one other thing: It's possible to have a perfectly green
tree and still have a broken build. This in part because of the complications that
arise from componentized software -- namely that components get discovered, loaded
and registered at runtime. So John's right. We need carpools whenever API's change
-- *or* -- when components are turned into services and registered dynamically.

Rick

rickg.vcf
0 new messages