Introduction to Version Control - BunksAllowed

BunksAllowed is an effort to facilitate Self Learning process through the provision of quality tutorials.

Community

Introduction to Version Control

Share This


All of you are familiar with different versions of different software as well as operating systems. In this tutorial, we will discuss how the version is controlled.

As a developer, you may think that version control is associated with only source code. But version control is not only used for managing source code but is also used for document management.
In the print-only era, the examples of the use of the revision system are book editions. But nowadays, revision control systems are used in software development, and document management, where a team of people may change the same files concurrently.


How Revision Numbers are Managed?

Generally, version control is used for the management of changes to documents, programs, websites, etc. Changes are usually marked by a number or a code, which is known as the revision number.

If a set of files are kept in the version control server the first time, it is marked as revision 1. If any change is made and the changes are kept in the server again, it is marked as revision 2 and so on.

In the version control server, each revision is associated with a timestamp and these revisions can be compared, restored, and merged.


Advantages of Version Control

Version control mechanism supports multi-user access to the same resource at the same time. Thus it became much more important, and complicated with the advancement of technology.

Version control systems most commonly run as stand-alone applications whereas revision control is also embedded in various types of software such as Google Docs and Sheets, word processors and spreadsheets, etc.

It allows reverting a document to a previous revision, which is difficult for the editors to track.
Nowadays, for revision control software tools are essential for the organization of multi-editor documents and multi-developer projects.

The most popular Version Control tools are git and svn.

In this context, let us discuss what is Major and Minor versions.


Basic Concept of Versioning: Major & Minor Version

Generally, revision numbers are assigned in increasing order (usually incremented by 1) There are different types of numbering schemes followed by different organizations and companies to keep track of different versions of the software.

Note that this numbering depends on the personal preference of the developer and the importance of making changes.

In principle, the major number is increased if significant changes are performed in functionality and architecture. The minor number is changed when only minor features or fixes are performed.
Sometimes, a different approach is used, where an alphanumeric string denotes the type of release.

Programs that are in an early stage are generally marked as "alpha" software.

When the software has been developed and tested but needs more testing in large-scale deployment is called "beta" software.

Generally, alpha software is tested by developers only, while beta software is distributed for community testing.

For alpha and beta versions assigned numeric values are less than 1. Sometimes, for the pre-release version "a" is appended for alpha and "b" is appended for the beta release.

In another context, the version tag may carry "rc-" before the version number as "rc-#".
After the final release, the tag "rc-" is removed.

Sometimes, the internal version number differs from the published number, as you will see Java SE 7.0 (external version) instead of Java 1.7.0.


Mostly used versioning schemes are:

major.minor[.build[.revision]] or major.minor[.maintenance[.build]]

Sometimes, numbers are used to represent alpha, beta, final release, etc. as shown below.
  • 0 for alpha
  • 1 for beta
  • 2 for release candidate
  • 3 for the final release
For instance:
  • 1.2.0.1 instead of 1.2-a1
  • 1.2.1.2 instead of 1.2-b2
  • 1.2.2.3 instead of 1.2-rc3
  • 1.2.3.0 instead of 1.2-r
  • 1.2.3.5 instead of 1.2-r5


Hope you have thoroughly enjoyed this tutorial!
In case you are curious to know how to set up an SVN server on Windows, you can check out this tutorial

Happy Exploring

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.