|
|
|
|
|
by gecko
4455 days ago
|
|
If any SVN dev truly believes that svn is better than Git in any technical sense then
I wouldn't trust the engineering judgment of that developer.
Hi. Small-time Mercurial contributor and Kiln founder. I use both Git and Mercurial in my daily workflow, and only on very rare occasions touch Subversion.Subversion is better than Git and Mercurial in at least several key areas: 1. Access controls. While this is not necessary for individual products, or even many
companies, only Subversion offers the kinds of access controls that some large companies
require. While you can *work around* that by sharding your code into tons of repositories,
not all companies want to do that, and I don't honestly blame them.
2. Very large repositories. Facebook's work on Mercurial finally allows Mercurial to
scale to those sizes (with significant trade-offs), but Git still cannot.
3. Very large files. Game companies in particular need to do asset management. Subversion
can work with large files directly, Mercurial can kind of "fake out" working with them
directly through largefiles, and Git forces you to use a third-party tool like Git annex
with a custom workflow.
4. Interop with legacy tools. Subversion repositories can be accessed trivially with WebDAV,
which, while I honestly think is mostly a antifeature, does allow random people in your
office to trivially access things in Subversion directly via Finder/Gnome/Windows WebDAV
support (and even commit, with proper settings, simply by saving).
Just because Subversion doesn't use Git's branching system and isn't distributed doesn't mean it's totally without merit, and someone so wrapped up in Git's ecosystem that they can find no merit left in Subversion is a developer who likely has an irrational approach to evaluating systems. |
|
The big problem with a DVCS is that if you are doing asset control on a lot of binary files is that when someone clones the repository they need to clone all versions of all large binary files. This is a mess. Checking out a revision and working with it is far cleaner. For example, if you are doing a lot of work on, say, PSD files, you probably don't want to use a dvcs generally as it will use needless disk space and network bandwidth for marginal benefit.
As for your 4th point, there are plenty of times I refer people to use wget to get the latest version of a file on svn from a specific branch. This is actually a very nice feature. We are looking at moving LedgerSMB to github and their subversion support makes this decision easier in part for that reason.