Modules

Doug Way dway at mailcan.com
Sat Feb 26 00:27:30 UTC 2005


On Fri, 25 Feb 2005 01:27:55 -0500, "Colin Putney" <cputney at wiresong.ca>
said:
> On Feb 23, 2005, at 1:47 AM, Florin Mateoc wrote:
> 
> > Now, method versions are not interesting just for themselves. A
> > different kind of code organization is a patch, or a unit of work
> > which happens after the packaging structure has been defined, and is
> > perhaps cross-cutting through many different packages. This is a
> > changeset in a non-packaged, non-versioned, and limited-collaboration
> > universe. In a versioned, packaged world, the changesets themselves
> > should be versioned entities, and be composed of versioned
> > sub-entities. It is especially for changesets that method-level
> > versioning comes in handy, because here the finer, method-level
> > granularity is needed. If you are forced to create new (entire) class
> > versions for inclusion in a versioned patch, this not only adds noise,
> > but it creates a much higher incidence of merging conflicts.
> 
> Absolutely, although I think with very fine-grained version history, 
> spurious conflicts aren't really a problem. I've never used Envy, but I 
> understand that it doesn't do merges well.

Envy actually has no automatic merging capability whatsoever.  Which is
odd, since you have fine-grained versioning (down to the method level)
in Envy, so it wouldn't have been hard to write an Envy tool which would
at least do a 3-way merge on a class and merge the non-conflicting
methods for you.  You wouldn't need a text-based merge algorithm for
that.  I think the Envy designers just never thought to add merge
capability.

- Doug



More information about the Squeak-dev mailing list