Version Control

Version control, also known as revision control or source control, is the management of changes to documents, computer programs, large web sites, and other collections of information.

Resources

 * /Git/
 * /Mercurial/
 * /Migration from MKS to SVN/
 * /Public-Private-Versioning/

Learning Activities

 * (Version and Release) Explain the difference between a "version" and a "release". What are the requirements and constraints to decide that a specific version is mature enough to be a release? How does a Version Control System support this mechanism.
 * (Forking) Explore the concept "forking" in software development and identify different application scenarios in which you would branch the development into different forks (e.g. forks for specific use cases). Explain how version control systems support you in doing this.
 * (Merging) Explore the concept merging different "forks" into the main branch of the software development and identify specific use cases in which you would integrate/merge a specialized fork back into the main development branch. Describe examples/use cases like:
 * Open Source Speech Recognition - fork" that was meant to used for handicapped special needs students in a fork are assessed to be useful also for voice control and in general for Digital Learning Environments.
 * adding 3D Modelling features in a fork to an Open Source Dynamic Geometry Software.