Version Control – Value of Using Version Control

version control

I'm new to version control (currently using SVN), but I don't understand how this helps developers. What does version control do that makes it useful in a development environment?

Best Answer

VisualSVN and TortoiseSVN are just UI clients for SVN server. SVN server is source / version control system. Version control system is key asset for any real development because it stores versions of you your source codes. When using version control system you keep only local copy of source codes. The main copy is stored on version control system and you commits changes to the system.

SVN allows:

  • easy sharing source codes among whole team through central repository
  • backuping your source codes and other resource files related to the project
  • keeping history how source codes changed
  • you can revert to any version kept in the history
  • you can compare changes between versions
  • you can see who made changes
  • you can lock the file for exclusive access so nobody else can work on the file
  • you can see who is working on any source code file or who locked the file
  • you can merge changes in case of parallel work on the same file
  • you can see comments associated with committed changes
  • with additional tools you can associate committed changes with tasks
  • you can label / tag version to easy find for example production releases
  • you can branch source code - create parallel versions where one branch can be considered as the main one and other can be used to test some special feature or to continue development of the new product version while fixes to the current production version are fixed in the main branch
  • you can merge changes between branches
  • etc.

VisualSVN is extension to Visual Studio which enables you using SVN repository directly from Visual Studio UI. TortoiseSVN is extension to Windows Explorer which enables you using SVN repository directly as you browse folders and files.

Related Topic