sourcecode-management
Julian Fitzell
julian at beta4.com
Tue Aug 23 23:26:14 UTC 2005
I meant to include a link to the monticello web site which has some info
on motivation, features, how to use it, etc.:
http://www.wiresong.ca/Monticello/
Julian Fitzell wrote:
> Victor Rodriguez wrote:
>
>> What about just filing out classes to individual files and checking
>> those into SVN?
>
>
> The major problem with this approach is that you need to add and remove
> files from CVS or SVN when you add or remove classes. It also doesn't
> handle the case of method overrides on other classes, which Monticello
> handles seamlessly for you (as long as you put the methods in a properly
> named category). Also, as you point out, filing in all the classes over
> and over even though they haven't changed can be slow in a large project.
>
>> A disclaimer: I just started playing with Smalltalk and Squeak and
>> know very little of change sets, and nothing about Monticello.
>>
>> To keep my own code in CVS I have been thinking about writing a little
>> tool to file out all the classes in the category I'm using for them
>> (I'm assuming this is possible). Then I would use my CVS client
>> (XEmacs) to check-in the modified files.
>
>
> The tool you are describing sounds basically like the original
> Monticello, now called MonticelloCVS. The only real difference being
> that we decided, for various reasons after months of trying different
> approaches, to use one file per package instead of one per class. We
> also determined an best-possible ordering of code to minimize cvs
> "conflicts" by reducing the amount of code reordering going on when you
> add methods, etc.
>
> The original monticello worked great except that it suffered from the
> same problems that CVS always does: it doesn't have any syntactic
> understanding of the code or the changes, so "conflicts" can begin to
> run rampant because of your merging patterns or because people are
> working in physically-proximate but unrelated locations in the source code.
>
> The new Monticello (and the newer one in development) addresses these
> issues by storing version history and adding an understanding of what a
> method is, what a comment is, what a timestamp is, etc. It provides
> branching, merging, conflict resolution, multiple repositories, etc. all
> quite simply from within the image.
>
> If you can just use Monticello, I would highly recommend it. If for
> some reason, you need to use CVS (hey, we've all worked in places like
> this :) ) then I would definitely suggest seeing if you can use or tweak
> MonticelloCVS to your needs rather than reinventing that wheel.
>
> Julian
>
--
Julian Fitzell -- Beta4 Productions
julian at beta4.com -- http://www.beta4.com
Seaside: http://seaside.st/
More information about the Squeak-dev
mailing list
|