[smalltalk-central] SCM options

Mark D. Roberts mroberts at cincom.com
Wed Sep 27 10:15:14 BST 2006


On the subject of source management options, I asked my colleague Martin 
Kobetic about inter-operating between VisualWorks, Store, and CVS-esque SCM 

...because it so happens that Martin wrote a package to facilitate 
connecting Smalltalk and CVS. ;-)

>Date: Tue, 26 Sep 2006 23:56:23 -0400
>From: Martin Kobetic <mkobetic at cincom.com>
>To: "Mark D. Roberts" <mroberts at cincom.com>
>Subject: Re: [Q: Martin] SCM
>Hi Mark,
>Yes the CVST project (https://sourceforge.net/projects/cvstproj/) was 
>mostly my work. From time to time I still think about updating it for 
>bundles and packages and for the XML source code format. The latest 
>version of CVST (from 2002) was working off parcels and used either chunk 
>format or SIF for the code. It probably wouldn't be much work but I still 
>didn't manage to do that. I think it might be a nice to have alternative 
>to Store, but there's just never enough incentive to revive it. BTW the 
>latest worked for VA as well (which Bob Nemec might appreciate).
>Anyway, it wouldn't hide the cvs backend from you. I used it with command 
>line cvs on both Windows and Linux. It's pretty easy to get CVS for pretty 
>much any platform. You can also get some nice GUIs to put on top as well 
>and use that instead if you prefer. CVST basically just synchronized 
>source files with your development image and you'd work directly with CVS 
>to version the files. I think it worked pretty well.
>There were some limitations largely imposed by CVS. Today I'd definitely 
>consider using SVN (subversion) instead which is supposed to be kind of 
>CVS 2.0, but that should make no difference for CVST itself. The main 
>problem was that CVS is a major pain with renames, so since CVST maps 
>classes to their own source files with the same name as the class, a class 
>rename would cause a rename in CVS as well. Renaming directories (which 
>were mapped to parcels) is even worse. SVN is supposed to make that easy.
>Anyway, I think it might be an interesting approach, but would probably 
>require bringing CVST up to date. You could conceivably try and use it as 
>is, but as I said you'll only get chunk or SIF out of it and you'd have to 
>plug it into parcels, not packages. But I believe I had it running in some 
>version of VW 7. We briefly entertained the idea to use it for SCM between 
>VW and OS, but nothing ever came out of it.
>Alternatively you could also consider using the Store file attachment 
>capability. But I've never even tried that one.

Well, voilà, no free lunch.

I guess the issue for me is that I've been using Store for so many years 
that I resist the idea of dropping down to a command line and typing a 
bunch of stuff to get my changes into a CVS repository, and I have no idea 
how to negotiate CVS for merging branches and the like.

The last thing that Martin mentioned intrigues me. Store has the ability to 
attach a bunch of files to a code component, publish them, and then get 
them back when loading a component. This is really beta functionality, 
though, and I don't think the merge tool knows anything about files. I'm 
wondering, though, how much work it would be to make the merge tool aware 
of files that are saved in the repository. I'll inquire further about this.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.openskills.org/pipermail/smalltalk-central/attachments/20060927/9593588c/attachment.html

More information about the smalltalk-central mailing list