> И, строго говоря, git качает не половину, а всё сразу. 1) Он качает столько сколько попросишь.
2) Когда он качает все и сразу - он использует продвинутую дельта-компрессию, с ссылками на то что уже было. По поводу чего немеряный реп линуксного ядра со всей историей - весит ну может в пару раз больше дерева сорцов.
Скачать два объема исходников, чтобы потом шариться с покоммитовой точностью по всему и вся начиная с лохматых 2.6 и заканчивая распоследним 4.0 "terminator edition" - не так уж плохо. А потом при работе с проектом дельта мизерная. Вот это - контроль версий. Я могу за ...цать секунд попасть в любой момент времени, любой коммит. Не качая ни байта и в основном будучи ограничен скоростью записи диска. Вот это - работа с версиями!
SVN до всего этого - как раком до китая. Сразу видно разницу между дешевыми проприерасовскими шестерками из апача vs тул от настоящего профи, возглавляющего большой проект и потому знающего как это делать правильно. И с человеческой, и с инженерной точек зрения. Редкое совпадение - потому и тул качественный получился.
> В то время как svn - только одну ревизию за раз.
По поводу чего оно является жалкой пародией на контроль версий - собственно, мотаться по версиям у него и не получается, предполагается примитивный линейный воркфлоу, бранчи и мержи, особенно с нескольких сторон сразу там через ... сделаны, etc. Не говоря о том что при загибании сервака (или сети) - работа встает колом.
> Проблема в ней в том, что протокол уж очень медленный, а не в
> том, что очень много.
Проблема в том что подход SVN с централизованным сервером и кастрированным клиентом - defective by design. В гит можно сделать до кучи и подобие сервера, где например некто может выполнять мержи, выступая точкой координации усилий. Но при этом каждый участник как таковой полностью самостоятелен и не нуждается ни в каком сервере для работы. Да даже и в сети по большому счету, кроме моментов когда работа над фичой завершена и хочется перекинуться кодом с другими.