any rcs with a formal theory of patches is worth looking at :)
http://abridgegame.org/darcs/manual/node7.html
--
Darcs is a revision control system, along the lines of CVS or arch.
That means that it keeps track of various revisions and branches
of your project, allows for changes to propogate from one branch
to another. Darcs is intended to be an ``advanced'' revision control
system.
Darcs has two particularly distinctive features which differ from
other revision control systems: 1) each copy of the source is a
fully functional branch, and 2) underlying darcs is a consistent
and powerful theory of patches.