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

EDUML change control



Erik Walthinsen writes:

 > Dunno, perhaps there are some 'official' thoughts on change-control
 > with XML documents.  A quick (ok, maybe slow and drawn out, given the
 > topic) search of the net might yield some interesting stuff.  I can
 > check with a few profs at work to see if they know of anything, too.

nothing is official, but we can share what we find out...

CVS does indeed store the differences between file revisions using a
line-based format (compatible w/ the diff utility).  a useful feature of
CVS is that it supports "annotation", whereby a file, say:

	this is
	some
	random text

can be viewed with each line prefixed with "last date modified" and
revision info:

	1999-05-04	1.10	this is
	1994-03-14	1.1	some
	1999-05-04	1.9	random text

(this is not the exact output, but a simplification.)  from this we see
the first and third lines were modified relatively recently, and that
the second line was modified a long time ago, and could be considered
"stable".  and because this can be applied to any revision of the file
in the repository (whether by label or by date), we can construct
"time-lapse" views of the text (in our heads, and w/ Some Programming,
on screen).  in other words, the history of each line including
addition, change and deletion (what else is there?) can be analyzed.

so now that we have this tool for line-based historical analysis, it
really becomes a policy issue of what is "interesting history", ie, what
to put on each line.  an XML backend could conceivably choose to eschew
space-savings and output a newline in strategic places, perhaps at
"record" boundaries, perhaps w/ smaller granularities.  whatever the
decision, those lines, if saved using CVS, can reveal their history.
all it takes is Some Programming.  (emacs users may already be familiar
w/ the color-coding of cvs annotation buffers, and i'm sure there are
other tools out there for non-emacs folks. :-)

cheers,
thi