Vesta doesn't make the same assumptions that some other revision control systems do about files simply being lines of ASCII text. Because of this, if we want to provide an API for calculating diffs of files, we need a way to account for the various different file types that people might choose to store.

The first issue is finding a way to classify the files. This should be based on both file name patterns (*.c, *.xml, *.png, etc.) and also on contents. Good places to look so we don't have to reinvent the wheel would be:

After that's solved, there's a few other issues: