It is something shocking that “Source Control” is not taught in college/School.Its one of the core subjects that needs to be learned and applied as a software engineer.Some call it “Source Control” and some call it “Version Control”.Doesn’t matter what the name is.But its worthy to learn what source control is and know about some of the Source Control tools available.
Here I am giving a brief idea about what it is.
What actually Source Control is??
All of us know that software is a collection of programs.And these programs are written in some programming language may that be C/C++,Java,Perl etc. The size of these programs can be as small as 7 lines in a typical C “Hello World” program that we learned in school to a project as big as having millions of lines of code with several modules.Well think about these massive codes…we better know than anyone else that its not done by a single person.Companies hire lots of software developers across the world to complete such a project.Now many number of people working on the same project.They will be using a database to store the code in different stages.But how can actually all these people synchronize their work?? There will be more than one person working on the same file.What happens when both of them save their work to their database.Offcourse work done by the first person will be overridden by the second person.
Using a write lock mechanism was used at first to compensate this problem.But history has proved that its not that much an efficient process.So there arises a need for a version control system.A Version control system detects and keep track of changes made to data over time.
eg. for version control Systems are
1. Subversion(Open Source)
2. CVS(Open Source)
4. Source Safe(properitary-Microsoft) etc…..
People who have already worked with CVS might find it difficult to understand the change in politics with subversion.But keep in mind Subversion is much better than CVS in many fields and migration will make u work more easily and trouble free.
Subversion is a centralized system for storing data but the peculiarity of subversion is that it remembers every change that had been made to it.I really dont wish to type in how to setup or run an svn server or how to use it because the very people who developed it came forward with a very good tutorial.
Everything about Subversion can be found at Subversion Website.
So what are you waiting for?? Follow the link and try it out….really worth it because many companies use subversion for source control.
Tip:-Subversion is available for familiar IDE’s such as Eclipse,JDeveloper,NetBeans etc.So you can still stick on to your favorite IDE and use Subversion for source Control.