[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Help-smalltalk] Using version control locally with the GST source t

From: Paul D. Fernhout
Subject: Re: [Help-smalltalk] Using version control locally with the GST source tree
Date: Thu, 07 Dec 2006 19:27:04 -0500
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.12) Gecko/20060205 Debian/1.7.12-1.1


Thanks for the suggestion; I just tried darcs (under Debian) with something smaller than GST for a first test (A Little Smalltalk, the Java version) and it works pretty nice.
  $ cd SmallWorld
  $ darcs init
  $ darcs add -r *"
  $ darcs record -am "Initial Import."
Kind of like SVN without the need for a central server.

Made a few changes and did more "darcs record" commands. Then to make a test safe copy (until reboot :-) I made a /tmp/test1 directory, did a "darcs init" in it, then did a
"darcs push /tmp/test1" from the original directory.
And made some more changes and did another "darcs push" and it only sent the new changes. Nice!

I can see how using ssh transparently would be great for minimizing configuring a server process or your firewall to allow more ports, so you could have a common copy on a file server somewhere). And if one uses the SVN model of directories of tagged versions, you might still be able to use SVN branch conventions -- though I suspect darcs copies of files across versions (patches) are not that lightweight (unlike SVN)?
I certainly did wrestle a lot with SVN and my system to get it installed.

I haven't tried the eclipsedarcs plugin yet though, or merging, or trying to look at all the versions of a single file, etc. In general I am curious how easy it is to use some sort of GUI (like an Eclipse plugin?) to "browse" a repository of Darcs changes?

Still, whether it does those things well or not, I can see darcs is (in theory) the single easiest way I've seen so far to take something like the entire GST build tree and be able to roll it back to a known state and also see what an operation like a "make" changes. And then (in theory) to manage having many copies of GST, one per application, while still tracking a central GST maintained by a community. Something like darcs used commonly with something like GST could then (in theory) spawn quite a community developing Smalltalk-based applications involving building up the base while building down the application to meet in the middle (as Paul Graham suggests in the previously linked article). Smalltalk invites that sort of work, and tools like darcs (or SVN) make that process more manageable. And using a text-file based approach, like GST is based around, certainly makes this more feasible; not that there aren't other image-based tool to do this in Smalltalk, but here it seems like you are getting something well supported for free, as long as its model seems good enough. I'd be more convinced this would work well if there was some integrated was in GST to automatically write out an image as a source code file (or files) for rebuilding the image, like I did with the PatqaPata project for Python/Jython. But I guess you can do it manually with class exports?

One gotcha was that darcs did not want to import certain files which it found uninteresting by default (like *.class files, and the I would assume GST *.a and *.o files?), but I assume there is a way around that? Normally I probably would not care much or want to archive these (so the default is helpful), but in this case I was specifically exploring what GST did to itself when make was run. I'm still wrestling with how the ANTLR plugin for Eclipse marking the output as "derived" and then the SVN plugin does not want to check those files in -- where the output (generated parsers) is something I really want to store. :-)

And also, when I added a file it ignored in in when I did a "darcs whatsnew". I had to rereun "darcs add * -r" explicitely to get it to notice the changes. But now I know. :-) So probably still several little thigns to learn.

Thanks again for the mention of darcs. Definitely something potentially useful for every GST developer and with a fairly small learning curve and a very easy install.

--Paul Fernhout

Krishna wrote:
On 12/8/06, Brad Watson <address@hidden> wrote:

Good idea:  I've borrowed it for myself.

Yes. I've been doing this with other pieces of software. But instead
of SVN I use darcs.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]