Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Do you know of a good pro/con paper on Version control system (git/mercurial/svn/cvs)?

It seems to be quite hard to find good references about the pros and cons of these Version control systems.

If someone can make a short and neat paper about it, mirror it and post it here, I think a lot of people would be less confused.

What version control system should I use ? I think it depend on the project and on the number of people working on it. However there are some commonly accepted facts, for instance: Git is the fastest, CVS is stable and tested, SVN is simple and Mercurial seems more Windows friendly.

Moreover, the paper should present evidences, link to benchmarks and explanation for each statement.

I've written on stackoverflow because most of the readers here should be experienced programmers and know where to ask to get proper contributions OR even write the paper (that would be awesome).

Note: This question is not about the relative merits of one tool over another (there are many post on those topics), but more about the objective criteria which can be used to differentiate them and used to choose one for your project.

like image 210
benjamin Avatar asked Jul 11 '10 17:07

benjamin


People also ask

Is git the best version control?

Git is one of the best version control tools that is available in the present market. Provides strong support for non-linear development. Distributed repository model. Compatible with existing systems and protocols like HTTP, FTP, ssh.

Why is Git better than other version control systems?

Many people prefer Git for version control for a few reasons: It's faster to commit. Because you commit to the central repository more often in SVN, network traffic slows everyone down. Whereas with Git, you're working mostly on your local repository and only committing to the central repository every so often.

Why use SVN?

Subversion is centralized which means data is only stored in one place. This keeps things simple. You have the option of working with an intuitive graphical interface if you choose an SVN GUI client such as TortoiseSVN or Cornerstone 3. Contains the full revision history of all directories, renames, and file metadata.

Does anyone use SVN anymore?

SVN is not dead at all. It's is still in extremely wide use, and it's not going anywhere anytime soon. SVN is much simpler to use than distributed version control, especially if you're not actually running a distributed project that needs distributed version control.


2 Answers

Martin Fowler on his bliki:

http://martinfowler.com/bliki/VersionControlTools.html

like image 160
sly7_7 Avatar answered Sep 27 '22 19:09

sly7_7


When it comes down to it, "which vcs is right for me" is a heavily subjective question that depends on a lot on the parameters of your workflow needs, your project needs, and just your group's general style.

If you're looking for details of how the empirical features of each VCS compare, take a look at the following charts:

http://en.wikipedia.org/wiki/Comparison_of_revision_control_software

Really though, anything beyond that will be a subjective opinion - even if you do empirical testing, the best you'll get is a set of different comparisons that point out that one VCS excels in a given area and another in a different one. How you rank those areas in terms of importance is up to you.

like image 38
Amber Avatar answered Sep 27 '22 21:09

Amber