Distributed version control system