Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
AlgStr / Библиотека / Разные источники / Контроль версий (Вики).doc
Скачиваний:
30
Добавлен:
23.03.2015
Размер:
549.38 Кб
Скачать

[Править] Миграция с cvs на Subversion [править] Преобразование репозитория

Существует программа cvs2svn, предназначенная для преобразования репозитория CVS в готовый репозиторий Subversion (либо в репозиторий git) или в текстовый дамп, который можно затем импортировать в репозиторий при помощи утилитыsvnadmin. При этом cvs2svn сохраняет всю информацию, содержащуюся в репозитории CVS: ветви, метки, описания изменений, имена авторов, даты фиксации изменений. Кроме того, изменения в различных файлах, зафиксированные совместно, преобразуются в одну ревизию.

[Править] Отличия в использовании [править] Различия в работе с файлами

В CVS операции по перемещению (переименованию) и копированию файлов и директорий выполняются повторным добавлением объекта с новым именем и (при перемещении и переименовании) удалением старого объекта. При такой работе файлы и каталоги в хранилище создаются заново и теряют историю изменений. В Subversion для выполнения этих операций должны использоваться команды перемещения(moveилиmv) икопирования(copy). Их использование сохраняет историю изменений и позволяет избежать лишних операций (в особенности при операциях с директориями или даже ветками файловой системы).

В отличие от CVS, некоторые операции в рабочей копии (например, удаление и перемещение файла) Subversion выполняет самостоятельно. Описанные и другие отличия при работе с файлами рабочей копии просуммированы в следующей таблице (операция commit, там где она нужна в обоих случаях, опущена):

Операция

CVS

Subversion

Заметки

Удаление файла

rm file cvs rm file

svn rm file

файл не нужно предварительно удалять вручную

Удаление файлов по маске

rm * cvs rm file1 file2 ...

svn rm *

файлы не нужно предварительно удалять вручную не нужно перечисления всех файлов

Переименование/перемещение

mv file1 file2 cvs rm file1 cvs add file2

svn mv file1 file2

файл не нужно перемещать вручную история файла сохраняется

Копирование

cp file1 file2 cvs add file2

svn copy file1 file2

файл не нужно копировать вручную история файла сохраняется (разветвляется)

Добавление (создание) директории

mkdir dir cvs add dir

svn mkdir dir svn commit

директорию можно не создавать вручную после добавления директории необходим commit

Добавление директории с файлами

cvs add dir cd dir cvs add file1 file2

svn add dir

директория добавляется с содержащимися в ней файлами

Переименование директории с файлами (без поддиректорий)

mkdir dir2 cvs add dir2 mv dir1/* dir2 cvs rm dir1/file1 dir1/file2 ... cvs add dir2/*

svn mv dir1 dir2

не нужно создавать и добавлять директории не нужно перемещать файлы вручную не нужно перечисления всех файлов история файлов сохраняется

Переименование ветки файловой системы (директории с файлами и поддиректориями)

повторять команды выше для каждого уровня вложенности или каждой поддиректории[36]

svn mv dir1 dir2

см. выше не зависит от количества уровней и директорий