Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Отчёт по Subversion.doc
Скачиваний:
4
Добавлен:
01.05.2025
Размер:
320 Кб
Скачать

Заключение

В заключении сравним SVN с другими системами контроля версий: CVS и GIT.

Сначала начнём с CVS. Так как Subversion можно считать преемницей хороших качеств CVS, минусов по сравнению с этой системой нет. Но Subversion в сравнении с CVS обладает рядом преимуществ:

1.Не нужно явно указывать бинарный файл, или текстовый;

2.Появились атрибуты файлов и каталогов (через них, например можно сделать файл исполняемым для Linux из Windows);

3.Отслеживается работа с директориями и перемещением файлов;

4.Атомарные коммиты;

5.Версии всех файлов имеют единую сквозную нумерацию — ревизию.

Cамое большое отличие между Subversion и Git это то, что Subverion является централизованной СКВ и только основной репозиторий хранит полную историю изменений, в то время как все пользователи Git имеют у себя в наличии полную информацию об изменениях. Думается, что это одно из преимуществ Git, но данная особенность имеет и недостатки. С учетом того, если вы будете хранить исходный код в Git, то вам следует задуматься о безопасности настолько, насколько это возможно. В распределенных системах чрезвычайно сложно обезопасить ваши данные от несанкционированного распространения, потому что существует множество копий этих данных.

Поддержка различных платформ: преимущество Subversion: Как я уже сказал ранее, один из факторов, который необходимо учитывать при выборе СКВ - это операционная система, под управлением которой вы хотите получить доступ к вашим данным. В то время, как Subversion отлично работает на всех операционных системах (имеется в виду Linux/Windows и Mac OS - прим. пер.), Git имеет определенные проблемы в работе под управлением Windows. В ОС Windows имеется существенная нехватка качественных приложений с графическим интерфейсом для доступа к репозиториям Git, поэтому использование этой СКВ все еще остается уделом пользователей Linux/UNIX и некоторых пользователей Mac.

Простота использования в совокупности с пользовательским интерфейсом: преимущество Subversion:

На данный момент Subversion имеет обширный диапазон инструментов с графическим интерфейсом пользователя в отличие от Git. Например, плагины Subversion доступны для большинства основных IDE на всех платформах, существует расширение для Windows Explorer и набор родных инструментов для Windows и Mac OS X.

Работа с ветвями: преимущество Git:

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

Быстродействие и использование свободного места: преимущество Git Когда приходит время сравнивать скорость обработки информации и место, занимаемое для хранения мета-информации СКВ, Git безоговорочно побеждает.

Требования к свободному месту для Subversion для хранение репозитория являются очень большими в сравнении с Git. Для примера возьмем проект Mozilla, который требует 12 Гб под репозиторий Subversion для хранения исходного кода с десятилетней историей.

Причина такого гигантского отличия в способе хранения изменений в обеих системах. Subversion хранится две версии каждого файла; одна версия - с которой пользователь работает в данный момент, и другая, скрытая в директории .svn/ - для выполнения таких операций, как получение статуса файла, получение изменений по отношении к текущему файлу и фиксация изменений.

Тем не менее SVN с успехом используется и по сей день. Приведём в качестве примера показательный рисунок.

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

На рис. 3 показан график использования популярных систем контроля версий: Subversion, GIT, Mercurial, Baazar. Вертикальная ось показывает кол-во инсталяций систем управления версиями пользователями, которые использовали дистрибутив Debian. На горизонтальной оси отмечен временной интервал 2004 – 2012 гг. Статистика собиралась с помощью утилиты popularity-contest. После установки popcon еженедельно отсылает в Debian по электронной почте информацию об установленных в системе пакетах и времени последнего использования. Мы видим, что Subversion относительно недавно потерял лидерство, но он удерживал его очень долгое время.