The idea is to get PHP away from CVS, which while a venerable and respected version control system, is just too old to serve our needs any longer. Several different newer systems have been proposed, notably Subversion, Git and Mercurial.
Some comments on SVN, partially from http://wiki.pooteeweet.org/PHPSVN/ and edited for clarity:
Reasons for SVN:
Reasons against SVN:
On the subject of SVN tags, php [AT] adamashley [DOT] name says:
SVN doesn't have real tagsthank god. how many times have you created a tag and need to come back and turn it into a branch? the under lying system should place limitations upon how you use it, those limitations should only be agreed upon and implemented by the people using the system.
Insert stuff here Question: How official is the win32 support of git at the moment? http://code.google.com/p/msysgit/ says it is currently merged into official distribution.
Answer: with GIT 1.6.0 the MinGW Project is merged into GIT, which means that git should run nicely under Windows.
Reasons for GIT:
diff $ time git --no-pager diff 5.2 5.3 ( a complete diff between 5.2 and 5.3 branches ) real 0m13.283s user 0m3.390s sys 0m2.125s Checkout: Switching branches between 5.2 and 5.3 with $ time git checkout 5.3 real 0m5.774s user 0m0.923s sys 0m1.358s
Reasons against GIT:
Could we summarize what is wrong with the current system, to have some criterias to be able to choose a suitable system?
For example:
http://doc.php.net/php/rfc/rfc-proposal-show.php?id=8
http://del.icio.us/sebastian_bergmann/scm
http://blogs.gnome.org/newren/2007/11/17/adoption-of-various-vcses/
http://www.javaworld.com/javaworld/jw-09-2007/jw-09-versioncontrol.html Maybe not the best article but a starting point, compares CVS, Subversion, Bazaar, Mercurial
http://www.infoq.com/articles/dvcs-guide DVCS Overview with comparison of Git, Hg, and Bzr
http://bazaar-vcs.org/BzrVsGit Bazaar vs GIT (from the Bazaar Point of View)
http://tomayko.com/writings/the-thing-about-git Shows how git solves the “The Tangled Working Copy Problem”, with nice examples and a discussion/reference to other VCSes as well
http://weblogs.mozillazine.org/preed/2007/04/version_control_system_shootou_1.html Why mozilla chose mercurial
http://groups.google.com/group/mozilla.dev.planning/browse_thread/thread/7532d66890f63768 Mozilla people discussing mercurial and git and others
http://texagon.blogspot.com/2008/02/use-mercurial-you-git.html Another Mercurial vs. GIT