Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>Update November 2011:</p> <p>Git is now much more mature compared to 2009:</p> <ul> <li><a href="https://github.com/blog/642-smart-http-support" rel="nofollow noreferrer">smart http</a> is now supported, which means you can offer to your client https protocol to pull/clone <em>and push</em>, with authentication able to interface with an LDAP (important for user in an enterprise)</li> <li>A mature authorization layer now exists with <a href="https://github.com/sitaramc/gitolite" rel="nofollow noreferrer">Gitolite</a>, which means you can provide isolation for "confidential" repository (again, important for large companies).</li> <li>The Windows support which was already there in 2009, is still going strong, and <a href="http://code.google.com/p/tortoisegit/" rel="nofollow noreferrer">TortoiseGit</a> is quite stable</li> <li>The integration with IDE like Eclipse is in progress (most of Eclipse projects are now on GitHub)</li> </ul> <p>However, installing Git in a centralized environment is not trivial:<br> See "<a href="https://stackoverflow.com/questions/5683253/distributed-version-control-systems-and-the-enterprise-a-good-mix/5685757#5685757">Distributed Version Control Systems and the Enterprise - a Good mix?</a>"</p> <hr> <p>One point consistently missed is:</p> <p>they are <strong>different</strong> in their nature.</p> <ul> <li>SVN is a <strong>REVISION system</strong> (it stores branch and tag through cheap copy only! Merge support is not very efficient), and it is centralized.</li> <li>Mercurial or bazaar are <strong>FILE VCS</strong> (they store versions of <em>files</em>), and distributed.<br> <a href="https://stackoverflow.com/users/7666/arne-babenhauserheide">Arne Babenhauserheide</a> amends that for Mercurial by pointing out that Mercurial’s <a href="https://www.mercurial-scm.org/wiki/GitConcepts#History_model" rel="nofollow noreferrer">History model</a> tracks <strong>content-changes</strong>, with file-paths re-used in the storage layer to optimize filesystem access.</li> <li>Git, and that is very hard to grasp, is a <a href="https://stackoverflow.com/questions/612580/how-does-git-solve-the-merging-problem/612747#612747"><strong>CONTENT</strong> VCS</a> (it stores delta of <em>content</em>, not the file itself: two files with the same content will be stored only once)</li> </ul> <p>That means:</p> <ul> <li>if you have a simple <strong><a href="https://stackoverflow.com/questions/216212#216228">merge workflow</a></strong>, in a single development location, stick with SVN</li> <li>if you have several development places, a distributed VCS is more adapted.</li> <li>if you have a <a href="https://stackoverflow.com/questions/457927/git-workflow-and-rebase-vs-merge-questions">complex merge workflow</a>, any modern VCS is better than SVN which struggle to keep merge informations at the right places for years. It then depends on the tools (Mercurial has a more advanced Windows support for instance)</li> <li>if you have mainly text file and not too-large binary files, Git is excellent, provided you are aware of <strong><a href="https://stackoverflow.com/questions/984707/what-are-the-git-limits/984973#984973">its limits</a></strong>.</li> </ul>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload