Structure-aware Version Control : A generic approach using Agda

Abstract

Modern version control systems are largely based on the UNIX diff3 program for merging line-based edits on a given file. Unfortunately, this bias towards line-based edits does not work well for all file formats, which may lead to unnecessary conflicts. This paper describes a data type generic approach to version control that exploits a file’s structure to create more precise diff and merge algorithms. We prototype and prove properties of these algorithms using the dependently typed language Agda; Our ideas can be, nevertheless, be transcribed to Haskell yielding a more scalable implementation

    Similar works

    Full text

    thumbnail-image