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
.
- Хотя
- Пример командной строки:
-
Notifications
You must be signed in to change notification settings - Fork 0
syrus-ru/amficom-cvs-repo-tools
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
About
Tools to facilitate CVS to Git conversion
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published