Revision control is a vital component of digital project management, and has been widely deployed for text files. Binary files, on the other hand, have received relatively less attention. This could be inconvenient for graphics applications, which can use a significant amount of binary data, such as images, videos, meshes, and animations. Existing strategies such as storing whole files for individual revisions or simple binary deltas could consume significant storage and obscure vital semantic information. We present a nonlinear revision control system for images, designed with the common digital editing and sketching workflows in mind. We use DAG (directed acyclic graph) as the core structure, with DAG nodes representing editing operations and DAG edges the spatial, temporal and semantic relationships between operations. We visualize the DAG in an intuitive and user friendly revision graph, RevG, which serves not only meaningful display of the revision history but also common revision control operations such as review, replay, diff, addition, branching, merging, and conflict resolving. Beyond revision control, our system also facilitates artistic creation processes in common image editing and digital painting workflows. We have built a prototype system upon GIMP, an open source image editor, and demonstrate the effectiveness of method through user study as well as comparisons with alternative revision control systems.

[paper] [video] [source] [data]