Revision Control or Version Control is used for the detection of changes in documents or files in Source Code. All versions are available for reference in Revision Control. All versions are in an archive with timestamp, protected and can be recovered later. Revision Control systems are typically used in software development. Version control is also used for office applications.
Practical Usage and Need of Revision Control or Version Control
You probably have noticed SVN or Apache Subversion in WordPress. Publishing using this Revision Control is not actually very funny. We wrote the guide on Publishing WordPress Plugin before. It is quite difficult work to understand and then properly Publish a Plugin in WordPress. It is quite scary and for this fear, many avoids to publish in various official websites like in case of WordPress where Revision Control or Version Control system is used. But the system is not make fearful, but to properly maintain a system for :
- Logging of changes : Changes can always be traced.
- Restoration of old status of individual files: Accidental changes can be undone at any time.
- Archiving of individual version of a project: This is always possible to access all versions.
- Coordination of shared access to files by multiple developers.
- Simultaneous development of multiple Branches of a project.
In case of WordPress Plugins, we get a notification whenever we commit a new version although access is limited only to the developers of the particular plugin. This is for safety – if some hacks my account, I will get alert and restore to the older and original one. In this way, injection of malwares, spams are controlled. As a practical example :
Other Notes on Revision Control or Version Control
A branch, is a like a twig of a tree, it consist of older versions, so that different versions can be developed in parallel. Often the main development branch is a trunk (it is actually the Subversion) or master (in case of Git). Branches can be created, for example, for new major versions of software or for development of branches for different operating systems. Forks are usually branches. A tag or label is snapshot with time. It depends on the specific need of the specific software to adapt all or some of the features of Revision Control or Version Control. Trunk usually consists of the latest version. In other words, within the tags, there are all versions but within the trunk, there is the latest version. To understand this practical aspect of Revision Control or Version Control, you can browse our plugins SVN :