Как перенести репозиторий CVS с несколькими модулями в качестве одного репозитория в Gitlab - PullRequest
0 голосов
/ 24 сентября 2019

Я хочу перенести репозитории CVS в Gitlab.У меня есть несколько модулей в хранилище.Мне нужно перенести как единый репозиторий в Gitlab со всеми каталогами.

Репозиторий CVS:

    Repository --->  module_1
                     module_2
                     module_3
                     module_4
                     module_5

Мне нужно перенести вышеупомянутые модули в Repository.git как единый репозиторий.Как я могу сделать это, не теряя историю коммитов для каждой ветви и тегов?

Примечание : я использовал инструмент cvs2git , чтобы перенести это, но ему не хватает нескольких коммитовиз CVS.

Я выполнил следующие шаги для переноса как отдельного модуля, он переносится корректно.

  1. yum install subversion
  2. svn --version
  3. svn co --username = guest --password = "" http://cvs2svn.tigris.org/svn/cvs2svn/trunk cvs2svn-trunk
  4. cd cvs2svn-trunk
  5. mkdir cvs2git-tmp
  6. python cvs2git --blobfile = cvs2git-tmp / git-blob.dat --dumpfile = cvs2git-tmp / git-dump.dat --username = cvs2git / home / cvs / Repositories / module_1 / --fallback-encoding =UTF-8
  7. git init --bare /root/module_1-cvs2git.git
  8. cd /root/module_1-cvs2git.git/
  9. git fast-import -export-marks = .. / cvs2svn-trunk / cvs2git-tmp / git-marks.dat <../ cvs2svn-trunk / cvs2git-tmp / git-blob.dat </li>
  10. git fast-import --import-marks = .. / cvs2svn-trunk / cvs2git-tmp / git-marks.dat <../cvs2svn-trunk/cvs2git-tmp/git-dump.dat</li>
  11. git gc --prune = сейчас
  12. cd $ HOME
  13. git clone / root / module_1-cvs2git.git
  14. cd module_1-cvs2git

Я проделал те же шаги и изменил шаг [6], чтобы выполнить миграцию в виде одного репозитория, как показано ниже, и завершить миграцию, в которой не было нескольких коммитов.а также добавил еще несколько коммитов с сообщением " Этот коммит был создан cvs2svn для создания ветки ".

Это способ миграции в виде единого хранилища?ИЛИ есть ли какой-либо другой способ или инструмент для миграции в качестве единого хранилища?

[6]. python cvs2git --blobfile=cvs2git-tmp/git-blob.dat --dumpfile=cvs2git-tmp/git-dump.dat --username=cvs2git /home/cvs/Repositories/ --fallback-encoding=UTF-8

Любые входные данные здесь действительно приветствуются.

...