cvs-fast-export- Пример командной строки:
git init --bare # Импорт из локального CVS-репозитория find path-to-cvs-repo -name '*,v' | cvs-fast-export -A authormap -k kv -P | git fast-import # Импорт из удалённого CVS-репозитория cvssync | cvs-fast-export -A authormap -k kv -P | git fast-import
- Если не указать ключ
-P, содержимое каталогаCVSROOT/будет проигнорировано. - Создаёт файл
.gitignoreв корне репозитория и добавляет его в первый же коммит. - Самостоятельно преобразует все существующие файлы
.cvsignoreв.gitignore.
- Пример командной строки:
git cvsimport- Пример командной строки:
git cvsimport -i -d ${CVSROOT} -A authormap -k module-name -C project.git - Недостатки
- Не может преобразовать CVS-репозиторий целиком (только по одному модулю за проход).
- Пример командной строки:
cvs2git- Пример командной строки:
cvs2git --blobfile=project.blob --dumpfile=project.dump --encoding=UTF-8 --keep-cvsignore path-to-cvs-repo git init --bare cat project.blob project.dump | git fast-import cvs2gitдобавляет синтетические коммиты от имени автора(no author), и этот пользователь должен присутствовать в файлеauthormap.- Недостатки
- Поддерживает author mapping, но лишь через специальную структуру
author_transforms, см. пример конфигурационного файла в/usr/share/doc/cvs2svn/examples/cvs2git-example.options.gz. Идентичного результата, но более удобным способом можно достичь, используя связку изcvs2svn+svn2git. - CVS-тэги преобразуются в виде отдельных коммитов (а не тэгов в смысле
Git). Автор этих коммитов — синтетический
(no author).
- Поддерживает author mapping, но лишь через специальную структуру
- Пример командной строки:
cvs2svn+svn2git- Пример командной строки:
cvs2svn --encoding=UTF-8 --keep-cvsignore -s project.svn path-to-cvs-repo svn2git --authors authormap file:///full/path/to/project.svn
svn2gitявляется тонкой обёрткой надgit svn.cvs2svnдобавляет синтетические коммиты от имени автора(no author), и этот пользователь должен присутствовать в файлеauthormap.- Недостатки
- CVS-тэги преобразуются в виде отдельных коммитов (а не тэгов в смысле
Git). Автор этих коммитов — синтетический
(no author).
- CVS-тэги преобразуются в виде отдельных коммитов (а не тэгов в смысле
Git). Автор этих коммитов — синтетический
- Пример командной строки:
cvs2svn+git svn clone- Пример командной строки:
cvs2svn --encoding=UTF-8 --keep-cvsignore -s project.svn path-to-cvs-repo git svn clone -A authormap -s --no-metadata file:///full/path/to/project.svn project.git
cvs2svnдобавляет синтетические коммиты от имени автора(no author), и этот пользователь должен присутствовать в файлеauthormap.- CVS-репозиторий должен находиться локально (может быть получен с
использованием
cvssync). - Ключи
-T/-b/-t(либо-s) при вызовеgit svn cloneдолжны быть указаны, иначеtrunk/,branches/иtags/утратят первоначальный смысл и будут импортированы как обычные подкаталоги. - Недостатки
- Хотя
cvs2svn, определённо, сохраняет CVS-тэги, они "теряются" при работеgit svn clone. Лучше использоватьsvn2git.
- Хотя
- Пример командной строки:
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|