Version Control: Version control is the approach and methods taken to maintaining access, controlling histories, and recording instances of a software program during its development lifecycle. A version control system is a set of automated tools and approaches designed to manage and track source code for an application. Synonyms for version control system include revision control system and source code control system.
The Magic xpi Application Platform is designed to support enterprise-class version control features from within the Magic xpi Studio when you have a third-party version control product installed that complies with the Source Code Control (SCC) API V1.01. But it isn’t necessary to spend a lot of money on a version control system in order to access quality version control features from inside the Magic xpi Studio. Popular systems that provide this capability include Visual SourceSafe and PVCS. This open approach allows you to work collaboratively, track and access changes to your project, maintain version histories, compare differences, check-in and check out your work as part of a team of developers, and so on.
Version Control is advantageous in all types of programming projects and provides numerous advantages in the governance of a software development project.
Versioning. With version control features you can save versions of your project and access any of the versions at a later date. This is helpful when you want to work in a multi-developer environment. You can also use the Version Control feature as a single developer to keep track and have access to the project's versions.
Project Integrity. Version control allows you to protect your files. With version control features, you first have to check out your files before you can edit them. This protects the source files from being overwritten by another user.
Developer Collaboration. Version control simplifies team development approaches, reduces communication overhead and eliminates much confusion. Because each developer works on their own copy of the project's source files and is responsible for synchronizing their own copy with the centrally-located version, the team is able to work in parallel and with efficiency.
Analyze Changes. Version control features allow you to analyze changes to your development project over time. You can track changes by comparing different versions of the project and you can trace which developer has made changes to a particular version. This is especially useful for evaluating progress on the project, debugging, and even rolling back versions if needed.