dmitrik: (Dmitrik New)
dmitrik ([personal profile] dmitrik) wrote2014-07-07 09:08 am

Системы контроля версий. Результаты опросов.

Как и обещал, выкладываю результаты. Это компиляция ответов в комментах на Фейсбуке и опросов здесь в ЖЖ.

Сразу дисклаймер. Ну, репрезентативность этой выборки сомнительна, чего уж там. Проголосовавших было не так, чтобы очень много, увы.

Основной проект:
1.   SVN                 36%
2.   Git                 34%
3.   Perfoce             12%
4.   TFS                  8%
5.   Mercurial            6%
6.   TFS + Git-плагин     2%
7.   Другие               2%

С одной стороны, результат предсказуем: службы безопасности больших компаний продолжают любить централизованные VCS, потому как всё своё, лежит у себя и легче не пущать посторонних и следить за утечками. Однако, с другой стороны, даже в такой ситуации распределенный Git отвоевал треть рынка. Это сильно.

Попытка впрячь в одну телегу коня и трепетную лань (TFS + Git-плагин) — это явный компромисс между корпоративными требованиями безопасности и тягой разработчиков к прекрасному. Этот подход находит своих поклонников, однако по их отзывам Git-плагин написан так себе и в нем есть существенные баги, посему распространенность такого решения очень скромное.

Аналогичный Mercurial-плагин к TFS Microsoft делать отказалась. «Пока не входит в наши планы». Ну, оооок. (недобро смотрит)

Неосновной проект:
1.   Git                 60%
2.   SVN                 15%
3-4. TFS                 11%
3-4. Mercurial           11%
5.   TFS + Git-плагин     3%

Однако если у разработчиков есть какой-нибудь побочный проект или просто некий внутренний подпроект, техническая часть которого отдана на откуп команде, то там преимущество Git'а подавляющее, а распределенные VCS в целом занимают больше двух третей этой ниши.

Личные предпочтения:
1.   Git                 45%
2-3. SVN                 15%
2-3. Mercurial           15%
4.   TFS                 10%
5-6. Perfoce              5%
5-6. Bazaar               5%
7.   Другие               5%

И наконец, подтверждая вывод по предыдущему опросу по неосновному проекту, результаты опроса по личным предпочтениям: снова в лидерах Git и снова две трети этой ниши за распределенными VCS.

Про Mercurial. В общем, логика разработчиков здесь вполне понятна: «Если уж мы хотим перейти от централизованного SVN'а к какой-нибудь распределенной VCS, то выбирать надо ту, которая больше распространена. Т.е. Git. И доков больше в сети можно будет найти, и тех, кому можно будет по нему задать вопрос, тоже.» Отчего Git становится еще более распространенным, а Mercurial наоборот. Замкнутый круг, увы. Но мы от этого меньше Mercurial любить не станем, нет.

И отдельно рад, что нашелся целый 1 (один) любитель Bazaar. [livejournal.com profile] necroleek, превееед!

Инструментарий. Ну вот здесь всё совсем предсказуемо.

Под Windows люди не пользуются VCS из командной строки. Пользуются примерно поровну либо отдельным GUI-клиентом, либо клиентом, встроенным в IDE. В той части, которая касается Git'а (и только в ней), это, если честно, для меня несколько странно, и вот почему. Git — это куча возможностей и нюансов их использования. В этом его фишка по сравнению с тем же Mercurial: Git больше может, но от того и сложней в освоении и использовании. И все эти возможности доступны через 100500 ключей кучи команд консольного git.exe. У меня есть подозрение, что GUI-клиенты всю эту кучу возможностей через свои менюшки не предоставляют. Только базовые возможности (которые, конечно, покрывают 90% рутинных потребностей, но тем не менее). Но если только они, то зачем же тогда именно Git? Или я не прав и всё там в UI того же TortoiseGit есть? Расскажите, плиз, кто плотно работает с GUI-клиентами Git'а.

Под Линукс/MacOS же, ясное дело, 70% разработчиков сидят в консоли. Я думал даже, что больше будет. Но, видимо, JetBrains с интеграцией работы с VCS в своих IDE прямо из коробки потихоньку меняет эту ситуацию.

Напоследок хочу сказать вам, други, спасибо за помощь. Это было круто.

Post a comment in response:

This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting