inamidst.com · patterns

Changeset Revision Control

Revision control software is that which lets you keep all the versions of your work so that you can rollback to previous version in case of error, and more easily incorporate the changes of others.

Recently, revision control software has become more and more concentrated on the idea of changesets. Changesets are literally what the name describes: a set of all the changes in the bytes, expressed as diffs, that have occured in the import source. The darcs project showed that there is a particular arithmetic that can be used with patches to ensure that the rollbacks and merges take place as smoothly as they can.

I've used changesets as the main method in my Equid revision control software, which is the software which backs inamidst.com. I didn't want to use an existing changeset based revision control software mechanism because they tend to hide the data away into databases or other binary blobs, and they make a mess of the filesystem that I've very carefully groomed into a shape that I like! These are two of my biggest annoyances with software; cf. GiveMeMyData and IdentifierSquatting.


Sean B. Palmer, inamidst.com