Research Talk: Foundations of revision control systems
If you have worked on a modern software project, you know how much a revision control system can help you. A revision control system can help you even with other work, such as writing a research paper. However, which of the dozens of revision control systems should you choose?
We can judge a revision control system by how well it satisfies two criteria. The first criterion is safety: does the revision control system guarantee that its operations will correctly manipulate the repository? The second criterion is concurrency: does the revision control system provide accurate merge mechanisms to combine revisions that were made simultaneously? It turns out that existing revision control systems have common operations that are unsafe and merge mechanisms that occasionally do the wrong thing.
I will present preliminary research aimed at addressing these two shortcomings of existing revision control systems. The desired outcome of this research is a formal mathematical model that provably satisfies all the desired criteria, which we can then use to implement a more useful revision control system.