No question that the majority of debates over programmer tools distill to either personal choice (by the user) or design emphasis, that is, optimizing design according to particular uses cases (by the tool builder). Text editors are probably the most prominent example--a coder who works on Windows at work and codes in Haskell on the Mac at home, values cross-platform and compiler integration and so chooses Emacs over TextMate, etc.
It's less common that a newly introduced technology is genuinely, demonstrably superior to the extant options.
Is this in fact the case with version-control systems (VCS), in particular, centralized VCS (CVS and SVN) versus distributed VCS (Git and Mercurial)?
I used SVN for about five years, and SVN is currently used where I work. A little less than three years ago, I switched to Git (and GitHub) for all of my personal projects.
I can think of a number of advantages of Git over Subversion (and which for the most part abstract to advantages of distributed over centralized VCS), but I cannot think of one contra example--some task (that's relevant and arises in a programmers usual workflow) that Subversion does better than Git.
The only conclusion I have drawn from this is that I don't have any data--not that Git is better, etc.
My guess is that such counter-examples exist, hence this question.
git
, creating a patch series, going back to it, editing a second commit in 5 commit series and creating a new set of patches is easy. With svn is basically impossible (you need to use external tools). If you have proper code review (and only few people can push to upstream) it's a godsend. I'd still use it as an interface to SVN if it was the only feature it had. – Hubert Kario Jan 07 '13 at 14:22Many good questions generate some degree of opinion based on expert experience
- A perfect description of most of the answers here. I don't understand why it was closed, either - be critical of the bad answers, don't punish the questions for bad answers. Can't wait until I can VTRO... – Izkata Nov 18 '13 at 12:46git
gives the decisive advantage of providing all the history on your laptop, even without network connection (with some remotegit
orsvn
server). – Basile Starynkevitch Jun 23 '17 at 10:18