[freearchitecture] CVS, versioning and workflow

Bruno Postle bruno at postle.net
Tue Feb 11 23:25:23 GMT 2003

On Sun 09-Feb-2003 at 11:21:52PM -0500, Steve Hall wrote:
> Interesting, we have a volume called "Architectural Graphic
> Standards" in the US which is a dead tree version of what we're
> discussing.

> Of course, the book obtains its credentials from being both
> long-standing and referenced on each page by So-and-so, AIA
> (American Institute of Architects). Any kind of detail system we
> cooked up would need to document sources some how. A sort of CVS
> for drawings could be helpful. It might convey the many variations
> a given detail underwent by architect and application.

Exactly, none of this is practical without a "CVS for drawings".
Unfortunately getting there from here isn't so straightforward;
systems like CVS and Subversion have features that are so useful
that I don't know how CAD survives without them:

(CVS is a remote storage system, it completely replaces the 'file
server' or 'network-drive' system of managing files)

Currently in a drawing office, you typically manage drawing-sets by
saving your work-in-progress, overwriting the file every time; when
there is a significant change or a release/issue needs to be made,
the filename is incremented and you have two files where there was
one before.

This is a horrible system, with source-code you simply create the
file, make your changes, and add it to the CVS repository; from
there, anyone can checkout a copy to view or edit.  There is only
ever one filename representing that resource.  When you make a
release, you simply tag a revision version-name which can be used to
roll-back to that precise snapshot at any future time.

The thing is, this is all based on two tools that are completely
missing from the CAD world: diff and patch.

There is no tool that I can use to take two AutoCAD dwg files and
compare them, outputting a third file that contains only the
differences between the two - A basic requirement of a real revision
control system.

> > (There's another more serious problem, which is the absolute
> > unsuitability of current CAD file formats for this sort of
> > thing)
> I assume you mean the on-line library system, due to the brower's
> inability to render a CAD file, meaning thumbnail/blowup
> nightmare?  Wouldn't it be nice if we could develop an SVG CAD
> system? ;)

That's a nightmare in its own right, but potentially solvable with
thumbnailing scripts etc..  The main obstacle for me is that none of
the existing CAD file formats will fit existing CVS-type servers in
any useful way:

AutoCAD dwg files are binary, they simply won't fit RCS systems
which are all text based, plus it's a moving target.

Dxf files are more promising since they are plain-text, and just as
important, line-separated.  Maybe dxf files could be usable with
CVS, but I've written a couple of dxf parsers and don't have much
confidence that they would be any good - I suppose it would depend
on the application that was writing the files.

SVG XML looks promising, but XML doesn't fit CVS very well either
since it is not new-line delimited.

I guess somebody needs to invent a CAD file format that is
explicitely CVS-able :-(.


More information about the freearchitecture mailing list