Самый надежный способ преобразовать репозиторий CVS, содержащий проекты Eclipse, в git?

У меня есть ситуация, когда у меня есть пожилое хранилище CVS, которое мы хотели бы преобразовать в git раз и навсегда, сохраняя всю историю и т. Д.

Все папки в корне репозитория содержат проекты Eclipse (простые или динамические веб-проекты), включая .classpath и .project. Мы используем Team ProjectSets для проверки проектов, которые нам нужны для выполнения определенной задачи (где набор проектов находится в проекте, содержащем основной, а остальные - библиотечные проекты).

Когда Team ProjectSet извлечен, рабочее пространство полностью заполнено.

Этот подход работал довольно хорошо в течение многих лет (за исключением части проекта, поставляемой с 3.5), и мы хотели бы работать аналогичным образом с git, если это возможно, но мы не уверены, как.

Я немного поиграл сgit cvs import но это не удалось - вероятно, из-за того, что мы не использовали модули.

Как бы вы предложили нам это сделать, и как мы должны работать с git, чтобы разрешить текущее использование проектов с общей библиотекой? Будем ли мыИМЕТЬ представить maven и создать модули maven для наших библиотечных проектов? Или просто плющ муравья?

РЕДАКТИРОВАТЬ: Теперь мне удалось преобразовать наш CVS-репозиторий в Subversion с подходящим вызовом cvs2svn и обнаружил, что Eclipse хорошо распознает полученный репозиторий Subversion. К сожалению после клонированияhttp://github.com/iteman/svn2git`и пытаясь запустить bin / svn2git я получаю

tra@Sandbox:~/cvsgit/svn2git/svn2git$ bin/svn2git
bin/svn2git:35:in `initialize': wrong number of arguments (2 for 1) (ArgumentError)
        from bin/svn2git:35:in `new'
        from bin/svn2git:35

Это с Ubuntu 10.04.1 LTS Server, и я пробовал разные вещи sudo с Ruby и его жемчужинами, не понимая полностью, что я сделал, так как я не программист Ruby, так что я мог немного испортить вещи. Буду признателен за совет - если проще всего установить другой вариант Linux для преобразования, это нормально.

РЕДАКТИРОВАТЬ:

https://help.ubuntu.com/community/Git http://css.dzone.com/articles/subversion-git-morning

Изменить: Моя первая попытка с svn2git по умолчанию успешно завершена (через некоторое время), и я получаю хороший репозиторий, гдеgit branch -a сообщает примерно

tra@Sandbox:~/gitroot/svnroot$ git branch -a
* master
  remotes/XX64_DEPLOYED_CODE
  remotes/Beta1
  remotes/Beta2
  remotes/SV46
  ... lots more

Мы заинтересованы в том, чтобы иметь возможность проверить ветку SV46 и работать с ней (нас в основном не волнуют теги, а только актуальные ветки). Я настроил gitosis, перенес этот репозиторий в gitosis и клонировал его на другой компьютер, чтобы узнать, как выполнить бит «работа с SV46» с Eclipse.ТОТ Хранилище не знает всех веток:

tra@TRA ~/git/git00 (master)
$ git branch -a
* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/master

Нужно ли мне массировать исходный результат из svn2git, чтобы получить информацию в репозиторий gitosis? Нужно ли клонировать с аргументом? Должен ли я повторить шаг svn2git с предложенной версией вместо той, которая поставляется с Ubuntu?

РЕДАКТИРОВАТЬ: Оказалось, что публикация сгенерированного svn2git репозитория с "git push --mirror" привела к тому, что вещи появились в репозитории gitosis. Я теперь вижу следующее внутри gitosis (урезанный):

tra@Sandbox:/srv/gitosis/repositories/git01.git$ git branch -a
* master
  remotes/XX64_DEPLOYED_CODE
  remotes/Basic_Beta1
  remotes/Beta1
  remotes/Beta2
  remotes/SV46
  ... lots more
tra@Sandbox:/srv/gitosis/repositories/git01.git$ git branch
* master
tra@Sandbox:/srv/gitosis/repositories/git01.git$ git tag -l
tra@Sandbox:/srv/gitosis/repositories/git01.git$

Попытка клонировать этот репозиторий сgit clone gitosis@sandbox:git01 -b remotes/SV46 или жеgit clone gitosis@sandbox:git01 -b SV46 оба говорят мне, что удаленная ветвь не найдена в восходящем направлении, вместо этого используется HEAD.

Я лаю не на том дереве?

Ответы на вопрос(1)

Ваш ответ на вопрос