Squeak and CM

Lex Spoon lex at cc.gatech.edu
Mon Jan 17 18:52:36 UTC 2000


Regarding filenames, URL-encoding would mean using % in filenames.  Do
most filesystems allow this?  In any case, it seems better to use a
scheme like this that flat-out avoids conflicts, instead of trying to
patch up conflicts after the fact.  For example, what if there is a
conflict in one person's image, but not in another?  For instance, what
if there is a conflict between two changesets, and some people only have
one of them?

On a larger issue, how does one handle sync-ing between the filesystem
and the image, if someone does a "cvs update" behind Squeak's back
(which seems to be the intent)?  I guess there will have to be a manual
update mechanism within Squeak.  This can be automated on certain
platforms where Squeak has the needed low-level support (I'm thinking of
applescript for macs, and OSProcess for Unix).

On another larger issue, it seems that deletion-by-file-removal is going
to be a bit awkward.  If a file has disappeared, is this because:

        a) the method (or class!) should be deleted
        b) the local user just isn't mirroring that part of the CVS tree
        c) the method is part of some other package, in a different CVS
tree

Perhaps a better solution than just letting the files/directories
disappear, is to have a Removals subdirectory which accumulates methods
or classes that should be removed in the current directory.

And finally, regarding how this gets coded up, this might be a good time
to revisit a previous idea about encoding a pointer into CompiledMethods
which says where to get the source for that method.  Everyone seemed to
think it was a good idea at the time, but I don't know if anyone ever
coded it up.  Well, now seems to be the time!  The protocol could simply
be #sourceCodeForMethod:inClass:, #classDefinition:, and #classComment:.
  (Let's not forget class definitions and class comments!)


Overall, the approach of using CVS seems very interesting--it should be
a minimum of coding effort, it ought to be solid, and it appears that it
be powerful and convenient enough to handle most people's needs.  If
anyone has time to develop this, I sure look forward to making use of it
:)

Lex





More information about the Squeak-dev mailing list