Going for the Full Monti (Re: How to improve Squeak)
Avi Bryant
avi at beta4.com
Wed Jul 14 18:19:43 UTC 2004
On Jul 14, 2004, at 7:25 AM, danielv at tx.technion.ac.il wrote:
> For example, I reviewed a patch, it seems sane, I file it in. I keep on
> working, and testing other patches, until I have a chance to notice
> some
> bugs come up that are related to that patch. So we shouldn't assume a
> stack discipline to patch application.
But if you're testing multiple patches at once, what you're really
testing is whether or not to patches can coexist. Which is a good
thing to test (and probably deserves a version of its own, with a
commit message like "successfully merged changes A and B, had to make
minor tweak C"), but you should have tested them in isolation first,
surely?
If you were really careful, you would use a "stack discipline" in your
day to day development, too. That is, the ideal thing from
Monticello's point of view would be that, every time you started a new
set of changes, you reverted back to the earliest version that could
support them and continued from there. If the next changes you make
are unrelated to those, you revert back again and branch. Then if both
of those changes are required to do the next changes, you merge the two
resulting versions and use that as the baseline going forward. But you
shouldn't do them linearly, because that implies to the versioning
system that the second changes are dependent on the first, and you'll
have trouble if you later want to use them on their own.
Now, I don't do this much in practice, because it's a hassle, and not
the way I'm used to working. But it would be interesting to see if
this awareness of the dependence and independence of sets of changes
could be integrated into the development environment well enough that
it was a natural and pleasant way to work.
> Also, I might later on have
> additional comments to add that are related to that patch like "also
> appears to solve the X bug", even without changing the code.
Oh, I'm not really suggesting that the commit log be the only source of
comments. We definitely want some kind of bug-tracking system that's
connected to all this that is organized by thread, not by version. But
I think the traditional "issue" is more appropriate here than "patch":
as in the BFAV, you want to track comments and associated
changesets/versions right from the time the bug is reported to the time
it's closed, not just the history of a particular changeset. It sounds
like the question you're asking is "how do we replace the BFAV", and I
was trying to answer "how do we replace the update stream". I think
the answer to the latter will inform the former - except we won't
really replace it, just migrate it to a slightly different workflow.
Avi
More information about the Squeak-dev
mailing list
|