Add a Base64Field and a FakeChangeFieldType evolution mutation
Review Request #383 — Created May 15, 2008 and submitted
This change adds two things to Djblets that we need for the new parent diffs change for Review Board. The first is a Base64Field, which works like a TextField but encodes/decodes Base64 behind the scenes. We use it now for the diff fields in FileDiff, instead of accessing a TextField through getters/setters. The second is a "mutation" class for use with Django Evolution. Django Evolution is the database migration framework we're going to be using in Review Board. This class fakes a field type change, so that we can perform the migration from TextField to Base64Field in order to satisfy Django Evolution's checks.
Made sure database migration worked with this change and the change in Review Board. Also made sure diffs continued to work (viewing existing diffs, uploading and viewing new diffs) and all unit tests passed.