: ) wonderful world ( :

the metasyntactic variable

Archive for the ‘cvs’ Category

categorical build systems

without comments

At my workplace we have several issues around a build systems for a given project. Everybody just checks out the source and work on it. It compiles, so everything’s fine. There’s no proper clean target/rule. It happens every once in a while that you just make a clean check out and things just stop to work. Hence this post about my effort to formalize expectations.

Let’s put it into category theory. So the category of proper build systems has two objects and several arrows. Some of the arrows are like this:

source control and filesystem - build and clean

source control and filesystem - build and clean


There are also arrows representing changes in the source.

Different properties of categories can be explained by saying that a given diagram commutes. These are called commutative diagrams. The meaning is that the taken effect (represented by paths in the graph) depends only on the nodes the path runs between.

So in a category of proper build systems the following diagrams commute:

twice a clean is like one

twice a clean is like one


twice a build is like one

twice a build is like one


even if I build before I clean should be a single clean

even if I build before I clean should be a single clean


a rebuild should be the same as a clean & build

a rebuild should be the same as a clean & build


a clean should leave a clean check out as it is

a clean should leave a clean check out as it is

Also, it follows that

a clean gives me back my clean check out

a clean gives me back my clean check out

These rules are too strict but compelling. For me it’s enough if the following commutes:

I can work without cleaning all the time

I can work without cleaning all the time

Written by grault

November 20, 2008 - 10:26 pm at November 20, 2008 - 10:26 pm

Posted in cvs, math, my values, notes

cvs/ssh hell on Windowns

without comments

I’m on vacation until 7th of Jan. This time, I’m using a Windows machine. I decided to set up a cvs/ssh/slime environment to work a little on cl-bf. Only 1-11-21 (not 22) cvs worked with sourceforge.

set HOME=d:\z\bin
ssh-keygen.exe -C ""
set CVS_RSH=path\ssh.exe
cvs -z3 -d:ext:grault@cl-bf.cvs.sourceforge.net:/cvsroot/cl-bf com ...

Written by grault

December 22, 2007 - 10:39 pm at December 22, 2007 - 10:39 pm

cl-bf at sourceforge

without comments

I’m happy to introduce you cl-bf @ sourceforge.

cvs -d:pserver:anonymous@cl-bf.cvs.sourceforge.net:/cvsroot/cl-bf login
cvs -z3 -d:pserver:anonymous@cl-bf.cvs.sourceforge.net:/cvsroot/cl-bf co -d my-cl-bf trunk

Written by grault

November 16, 2007 - 9:34 pm at November 16, 2007 - 9:34 pm