[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 |
Krishna-
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.
Cheers,