Source/version/goodie/bug manager (large project) [Re: Working Together....]

Dwight Hughes dwighth at ipa.net
Thu Jul 15 04:44:15 UTC 1999


I am probably not describing what I'm seeing in my mind's eye very well
(being a broadside thinker when developing my ideas works just fine
except when I try to explain my general concepts early in the process).
None of the bug tracker or version management systems I'm aware of come
close to integrating the needs of a programmer and developer to track
all the bits and pieces in a simple unified fashion (some do, but it
darn sure isn't simple) -- and I think this can be done without undue
complexity or work pattern constraints being reflected back to the
developer. *Plus* these same mechanisms can easily be turned to finding
that special goody you heard about, or managing your library of goodies
(or someone else's for that matter), etc. At the low end it can be as
simple as a change sorter, or as complex as you want to deal with; but I
want it to start *simple* -- so simple you shouldn't even be aware of it
doing its stuff in the background until you want to deal with it. I want
it to be able to support a late-binding style of source management -
once you figure out what you want, then you can tell it how to organize
the code its been keeping up with for you. I only care about applying
this to Squeak - I'm not interested in cross-language issues here. Nor
am I especially worried about supporting 300 people simultaneously
updating a single source tree. Version management is only an portion of
what I'm thinking about - and I plan to do the simplest things that
could possibly work for it.

Tinderbox is a specialized sort of "bugtracker" - actually it
continually drives build cycles from the Mozilla CVS trees on the
various platforms as new code is checked in. The build log info is then
linked with what code went into it and who committed the code to the
tree. More precisely it is a "blame tracker" - when things don't build
it points at who is to blame. Whether code committed to a build actually
does what is desired or fixes any bugs that need fixing is of no concern
to Tinderbox -- only that the build completes without errors.

CVS is not appropriate for what I want to do with this -- I want this
Squeak code manager (for want of a better phrase at the moment) to run
everywhere Squeak runs and to be able to run fully local on all
platforms (all platforms with the resources to run the full Squeak
distribution anyway). CVS is really a un*x only system -- it has clients
on several other OSs and it has a local mode for Windows NT, but this is
not recommended for anything more than playing around with.

Building tools like these within Squeak follows the tenet that
single-language systems allow far greater evolutionary leverage and
potential than mixed-language systems. (A principle expounded by Alan
Kay, but I cannot remember the exact quote at the moment.) Thus the
tools evolve with the system and the system's evolution is facilitated
by the tools. From this I think you can see that glueing bits from
multiple languages together is not generally of primary interest to me
-- my reason is simply that the limits of what you can create are
embodied in the limits of each part. Legos are great, and you can create
many kinds of structures and forms, but in the end you cannot exceed the
limiting properties of a individual Lego piece -- and you cannot change
those properties. You cannot build a working tokamak reactor with Legos.
;-)

My interest in all this is that it can be much more than mere
housekeeping (were that the case I wouldn't be interested).

Time to climb off my soap box.

-- Dwight


Peter Smet wrote:
> 
> Dwight,
> 
> From: Dwight Hughes <dwighth at ipa.net>
> 
> >I seem to be seeing more and more need for a Squeak-native
> >source/version/goodie/library/bug manager -- perhaps something along the
> >lines of the Smalltalk-80 Version Manager described in the Green Book.
> >This was a set of inter-related tools that communicated through the
> >version manager to a code repository -- it brought together bug reports,
> >bug fixes, enhancements, versioning, etc into a few simple browsers.
> >Each type of item had a corresponding "form" that could be filled out
> >and "sent" to a repository.
> >
> 
> Before creating new tools, I would like to know if the existing ones can be
> used. For example, I have heard the Mozilla team have developed an excellent
> open source bug tracking system, called Tinderbox. Craig Thrall also
> suggested CVS:
> 
> >What about a central CVS repository or the like?  This would allow you to
> do
> >several things that have been discussed:
> 
> >* multiple branches
> >* have code in one central location
> >* group code by tool or functionality
> >* the added bonus of revision control...
> 
> Could these tools usefully be applied to Squeak development, or would they
> really have to be written in Smalltalk to become useful? It would be better
> if we could use third party stuff for all the housekeeping, since this would
> allow people to concentrate on directly improving Squeak. If anyone on the
> list has used these tools I would like to hear their opinion on whether
> Squeak development could benefit from them.
> 
> More and more, I am starting to think that the better computer languages
> will become 'glue-like'. By this, I mean that they can rapidly and
> extensively interface and communicate with any other computer language and
> system. Such a property effectively stops the huge amount of code-porting,
> adapting, and duplication that occurs (for example, porting the Refactoring
> browser to Squeak, Kent Beck's testing framework, etc, etc), and enables
> such languages to leap ahead of the opposition. Carnegie Mellon are putting
> on a demonstration of a system that can enable people to video-conference in
> 8 different languages, with real time translation occurring at each end. I
> assume this system uses neural net technology to do dynamic speech
> translation. I am wandering off topic, as per usual, but perhaps a similar
> approach could help in the translation of computer languages?
> 
> Peter





More information about the Squeak-dev mailing list