
Возможности svn
Настоящая история версий. SVN делает возможным добавление, удаление, копирование и переименование как файлов, так и каталогов. При этом каждый вновь добавленный файл начинает жизнь с чистого листа, сохраняя собственную историю изменений.
Атомарная фиксация изменений. Каждый набор изменений либо попадает в хранилище целиком, либо не попадает туда вовсе. То есть если при фиксации изменений проекта произошла ошибка при обработке файла, то изменения всего проекта не будут зафиксированы.
Метаданные с версиями. Каждый файл и каталог имеет собственный набор свойств, представленных в виде названия и значения. Вы можете создать и сохранить любые необходимые пары названий свойств и их значений. Свойства файлов точно так же находятся под управлением системы, как и их содержимое.
Единый способ работы с данными. SVN обнаруживает различия между файлами с помощью специального бинарного алгоритма, который одинаково работает как с текстовыми, так и с бинарными файлами. Файлы записываются в хранилище в сжатом виде независимо от их типа, а различия между отдельными версиями могут передаваться по сети в обоих направлениях.
Эффективная работа ветки и метки. SVN создает ветки и метки путем простого копирования проекта, используя механизм, похожий на жесткие ссылки в файловых системах. Благодаря этому операции по созданию веток и меток занимают немного времени.
Tortoise SVN
Поработаем с системой контроля версий Subversion, взяв программный продукт Totoise SVN. TortoiseSVN — это бесплатный клиент для системы контроля версий Subversion, выполненный как расширение оболочки Windows и распространяемый под лицензией GPL.
Преимущества:
- Интеграция с оболочкой Windows (опции пакета отображены в контекстном меню)
- Для работы не требуется IDE
C Официального сайта http://tortoisesvn.net/ я скачал и установил данный программный продукт. В скринкасте я поработал с данным программным продуктом.
Рисунок 1. Внешний вид репозитория TortoiseSVN
Рисунок 2. Контекстное меню в TortoiseSVN
Достоинства svn
1. Поддерживается большинство возможностей CVS.
2. Разнообразные графические интерфейсы и удобная работа из консоли.
3. Отслеживается история изменения файлов и каталогов даже после их переименования и перемещения.
4. Высокая эффективность работы, как с текстовыми, так и с бинарными файлами.
5. Встроенная поддержка во многие интегрированные средства разработки, такие как KDevelop, Zend Studio и многие другие.
6. Два типа репозитория – база данных или набор обычных файлов.
7. Наличие удобного механизма создания меток и ветвей проектов.
8. Можно с каждым файлом и директорией связать определенный набор свойств, облегчающий взаимодействие с системой контроля версии.
9. Широкое распространение позволяет быстро решить большинство возникающих проблем, обратившись к данным, накопленным Интернет-сообществом.
Недостатки svn
1. Полная копия репозитория хранится на локальном компьютере в скрытых файлах, что требует достаточно большого объема памяти.
2. Существуют проблемы с переименованием файлов, если переименованный локально файл одним клиентом был в это же время изменен другим клиентом и загружен в репозиторий.
3. Слабо поддерживаются операции слияния веток проекта.
4. Сложности с полным удалением информации о файлах попавших в репозиторий, так как в нем всегда остается информация о предыдущих изменениях файла, и непредусмотрено никаких штатных средств для полного удаления данных о файле из репозитория.