Version control is essential in collaborative software development today. Its main functions are to track the evolutionary changes made to a project’s files, manage work being concurrently undertaken on those files and enable a comfortable and complete exchange of a project’s data among its developers. The most commonly used version control systems are client-server based, meaning they rely on a centralized machine to store and manage all of the content. The obvious drawbacks involved by bringing an intermediary server into the system include having a single point of failure, a central ownership and vulnerability, scalability issues, and increased synchronization and communication delays. Many popular global software projects switched to the emerging distributed version control systems, demonstrating the urgent need for a more suitable version control system.
PlatinVC, is a fully decentralized system, which features the complete system view of centralized systems, while overcoming their drawbacks. All workflows of existing version control systems, centralized or distributed, are supported. PlatinVC even supports a hybrid setup, where other version control systems can interoperate, using PlatinVC as a mediator. Moreover, it introduces an automatic isolation of concurrent work, which separates relevant and required updates from possibly unneeded ones. In this way, branches are only created when necessary. The evolutionary changes of links between files, which can be enhanced by any attributes, are also tracked. That extends snapshot-based version control to other purposes, e.g. traceability of software artifacts. PlatinVC is a serious alternative to current version control systems, as industry proven components for the most critical parts of the system were reused. The evaluation shows that PlatinVC meets the identified requirements completely, thereby being the first fully decentralized version control system that provides a high consistency degree, efficiency, and robustness.
PlatinVC can be seen in action on Youtube.
PlatinVC was presented at CEBIT 2011 in Hannover.