Squeak and CM (was Re: Of source code lost in eternity)

Göran Hultgren gohu at rocketmail.com
Fri Jan 14 12:08:30 UTC 2000


--- Stefan Matthias Aust <sma at 3plus4.de> wrote:
> Göran" Hultgren wrote:
> 
> >Well, what about CVS? I have recently "scanned" the market for these
> >things and came to the conclusion that CVS is a very attractive option
> >(for that customer at least - Java coding).
> 
> I think, it's also attractive for Smalltalkers.  In contrast to other tool
> that have a checkout/lock/checkin cycle, CVS is more like ENVY (that famous
> both loved and hated team tool for VisualWorks and VisualAge Smalltalk).
> In CVS you get your local copy of all files from the server.  You can edit
> any file you like and modify your local copy.  Then you can commit changes
> to the server.  The server will only allow commits if there were no other
> changes in the meantime.  Otherwise, you have to update your local copy
> which makes the server merge the changes into your local copy.  Then it's
> your job to deal with the conflicts and try again to commit.
> 
> The only problem I see is that Smalltalk change sets or fileouts aren't
> very well suitable for a file and line-based too like CVS.  One would

No, change sets seems a little bit... incompatible with the CVS way.

> probably want to change at least the line-end convertion to a format that
> is recognized by CVS (unix LF-style probably) and perhaps create one file
> per class.  If you really don't care about server space, I'd even recommend
> to make each method a file and place all files of a class in one directory.
>  Then you get exactly the same features as with ENVY I think - and probably
> the same hunger for hard disk space :-)

Yes, the file per class or file per method approach seems quite doable to me.
The totally supersimple hack we could do is to build a "mirroring" mechanism to the filesystem of
dirty classes. Then you could run the CVS client outside Squeak.

When this works, the next step is to build either a CVS frontend client in Squeak OR a complete
CVS client.

And this "hack" about storing classes/methods as files does not have to be "visible" to a Squeaker
at all - if the toolsupport from within Squeak is done correctly!
 
> >1. If we were to build something in Squeak - why reinvent the wheel?
> 
> <cynic>because it seems to be the Squeak-way to do so</cynic> :-)
> 
> >We should instead try to build something that does not exist yet. 
> 
> Why not use what is already available?

Ah, you misunderstood me (I think) I definitely vote for a CVS solution!

My remark was that Squeak is (to me at least) more about innovation and there is no need to
reinvent the wheel when it comes to version management (just reuse CVS), let us instead focus on
inventing the engine :-) - something entirely new when it comes to collaborative work. But this is
another beast and could be a complement to a CVS solution.

> >Think for example how cool it would be to be able to see directly in 
> >your browser that some guy on the other side of the globe is mucking 
> >about in some base class and trying to improve aspects of the system! 
> 
> Nice idea (last OOPSLA, two brothers (I only remember that they were
> Germans at the moment) demoed such a system based on two collaboration envy
> systems in 

Yes, but a clarification might be in place here - I am more visualizing a live "catalog" of
developers which can inform/notify me about who is doing what and where. A bonus would of course
be to be able to easily share code too!
 
> >If we need a robust solution NOW why not just build a CVS client in Squeak?
> 
> Because somebody needs to start this ;-)

Oh yes, the tiny problem of available time... :-) I have exchanged a few emails with Jecel
Assumpcao so perhaps we could rally up a few people and give it a stab. I think it really could
benefit the whole Squeak community.
 
> >But hey, if there is a superior solution that we could use TODAY,
> >why not [using it]?
> 
> Yes.

Ah, the sweet aroma of agreement. I like it. :-)

regards, Göran

=====
Göran Hultgren, gohu at rocketmail.com, icq#:6136722
GSM: +46 709 472152, http://www.bluefish.se
"First they ignore you. Then they laugh at you.
Then they fight you. Then you win." -- Gandhi
__________________________________________________
Do You Yahoo!?
Talk to your friends online with Yahoo! Messenger.
http://im.yahoo.com





More information about the Squeak-dev mailing list