Git cvsimport пропустил добавочные изменения в ветке

Мы используем git-cvsimport для периодического копирования изменений из cvs в git

Хорошо это или плохо, но мы остановились на git cvsimport, а не на cvs2svn. Первоначально мы планировали "раз и навсегда" миграцию cvs в git, но в итоге люди стали выполнять дополнительную работу с репозиторием cvs. Мы хотим перенести изменения из ветки CVS в git, чтобы разработчики могли работать с этой функцией в git.

контекст

  • У нас есть специальный git-репозиторий fromcvs, используемый исключительно для импорта из cvs
  • Назначенный "разработчик слияния" объединяется из этого репозитория fromcvs в свой локальный
  • Я периодически выполняю эту команду, чтобы перенести изменения из CVS в git git-cvsimport -p -x -v -d $CVSROOT myProj

Вопрос

Почему в "git-версии" ветки FEATURE-FOO отсутствуют коммиты, которые я вижу в версии CVS этой ветки?

Например, в cvs я вижу в ветке FEATURE-FOO изменение, внесенное в SomeDAO.java в пятницу, 11 февраля. В git-репозитории fromcvs я не вижу того же самого изменения в ветке,

git checkout FEATURE-FOO git log src / java / com / company / somefeature / SomeDAO.java

  • Это ошибка в gitcvsimport?
  • Или мы ошибаемся (см. Ниже), чтобы сохранить
  • Любые другие жемчужины мудрости?

Как вы интерпретируете предупреждение на man-странице импорта git cvs?

Еще одна вещь: на странице руководства git-cvsimport есть это предупреждение (я разбил его на маркеры для разборчивости).

Что конкретно это означает: "После этого вам нужно самостоятельно выполнить git merge, добавочный импорт или любые ветки CVS".

  1. Вы никогда не должны выполнять какую-либо собственную работу над ветвями, созданными git cvsimport.

  2. По умолчанию при первоначальном импорте создается и заполняется "основная" ветвь из основной ветки репозитория CVS, с которой вы можете свободно работать;

  3. После этого вам нужно самостоятельно выполнить git merge incremental import или любые ветки CVS.

  4. Рекомендуется указывать именованный удаленный канал через -r для разделения и защиты входящих веток.

Git cvsimport до сих пор работал для нас довольно хорошо, несмотря на предупреждения через Интернет. (т.е. "... ни один человек не должен путешествовать один в Клондайке после пятидесяти ниже"). Возможно, я / мы по глупости проигнорировали совет и впали в ложное чувство безопасности.

Любые рекомендации?

Спасибо

будут

1 ответ

Решение

У вас проблемы, потому что git-cvsimport в корне сломан. Например, см. Раздел "проблемы" его man-страницы.

Другие вопросы по тегам