Данный цикл статей посвящен введению в использование SVN, с точки зрения обычного пользователя. Статья была написана в помощь моим коллегам для быстрого освоения и использования SVN. Итак начнем с азов.
Данный материал был опубликован в журнале "Компоненты и технологии"
Введение
Subversion (SVN) — бесплатная система управления версиями с открытым исходным кодом. SVN позволяет управлять файлами и каталогами, а так же сделанными в них изменениями во времени. SVN предоставляет следующие возможности :
- Контроль изменений каталогов. SVN использует «виртуальную» файловую систему с возможностями управления версиями, которая способна отслеживать изменения во времени целых структур каталогов
- Настоящая история версий. SVN делает возможным добавление, удаление, копирование и переименование как файлов, так и каталогов. При этом каждый вновь добавленный файл начинает жизнь с чистого листа, сохраняя собственную историю изменений
- Атомарная фиксация изменений. Каждый набор изменений либо попадает в хранилище целиком, либо не попадает туда вовсе. Т.е. если при фиксации изменений проекта произошла ошибка при обработке файла, то изменения всего проекта не будут зафиксированы
- Метаданные с версиями. Каждый файл и каталог имеет собственный набор свойств, представленных в виде названия и значения. Вы можете создавать и сохранять любые необходимые пары названий свойств и их значений. Свойства файлов точно так же находятся под управлением версиями, как их содержимое
- Единый способ работы с данными. SVN обнаруживает различия между файлами с помощью специального бинарного алгоритма, который одинаково работает как с текстовыми, так и с бинарными файлами. Файлы записываются в хранилище в сжатом виде независимо от их типа, а различия между отдельными версиями могут передаваться по сети в обоих направлениях
- Эффективные ветки и метки. SVN создаёт ветки и метки путём простого копирования проекта, используя механизм, похожий на жёсткие ссылки в файловых системах. Благодаря этому, операции по созданию веток и меток занимают немного времени.
Список основных терминов
- Репозиторий (repository) — централизованное хранилище исходных кодов, рабочих материалов и документации. Любое количество клиентов подключается к хранилищу и читает или записывает эти файлы
- Рабочая копия/working copy (WC) — обычное дерево каталогов на компьютере, содержащие набор файлов для работы над проектом. Изменения в рабочей копии не доступны для других пользователей репозитория, до тех пор пока они не будут зафиксированы.
- Trunk — основное направление разработки
- Branch (''Ветка'') - направление разработки, которое существует независимо от другого направления, но имеет с ним общую историю. Ветка всегда берет начало как копия чего-либо и движется от этой точки, создавая свою собственную историю
- Tag (''Метка'') — выделенная явно, через создание отдельной папки версия файлов проекта в определенный момент времени.
- Revision — номер ревизии репозитория, в пределах репозитория номер ревизии уникальная величина
- Checkout – команда, которая выполняет начальное получение проекта из репозитория в WC.
- Commit – команда, которая выполняет фиксацию изменений файлов проекта в WC в Репозиторий.
- Update – команда, которая выполняет обновление файлов проекта в WC из репозитория
- Revert – команда, которая выполняет отмену любых изменений в файлах проекта в WC на основе номера ревизии репозитория.
- Merge – команда, которая выполняет слияние файлов из разных веток проекта и помещает результат слияния в WC.
- Conflict – ситуация, возникающая при фиксации изменений, когда одни и те же файлы изменяли несколько разработчиков.
- Resolve – набор правил по разрешению возникающих конфликтов.
- Import – команда, для быстрого копирования дерева файлов в Репозиторий.
- Export – команда, для экспорта проекта, отличается от checkout тем, что не создает в папках проекта служебную информацию.
- Switch – команда, которая выполняет переключение WC на другую ветку разработки.
- Create, Add, Delete, Copy, Move, Rename – команды для управления файлами и папками в репозитории или WC.
Программное обеспечение
Работа с репозиторием SVN рассмотрена на основе программного обеспечения TortoiseSVN tortoisesvn.net/ версии 1.5.8 и программы сравнения файлов ExamDiff.
- of 5
- следующая ›
- последняя »


Комментарии
re: error
Решил поставить данную систему, посмотреть, как работает.
После установки создал папку test, зашел в нее и запустил repository browser.
При попытке создать репозиторий ругается - unable to open an ra_local session URL и unable to open repository "file:///C:/test/1.txt"
сначала нужно сделать
Уточните пожалуйста...
"Добавлять, перемещать и удалять папки и файлы проекта лучше в рабочей копии. Использовать для этих целей репозиторий не рекомендуется. Использовать возможности репозитория для целей управления папками и файлами нужно только в случае, если нужное действие сложно сделать в рабочей копии. К таким действиям относится копирование и перемещение папок и файлов."
Так как все же лучше осуществлять перемещение папок и файлов? В рабочей копии или средствами репозитория?
Отправить комментарий