Рекомендации по использованию git с CVS

git,git-cvs,

48

Ответов: 5


21 принят

Я написал ответ на аналогичный вопрос здесь .

Это работает удивительно хорошо, когда вы вынуждены продолжать вносить изменения в центральный репозиторий CVS.


11 ов

Я работал только с Git-CVS-взаимодействием с демо Git для друга, но это было очень просто.

  • Вам нужно установить текущую копию cvsps. $ rsync rsync://yourprojecthost.com/cvsroot/yourproject/* $ mkdir myproject.git $ cd myproject.git $ git cvsimport -p -x -v -d :local:/path/to/cvsroot/yourproject использует это для доступа к истории CVS.
  • Мы обнаружили, что для крупного проекта, встроенная настройка была намного быстрее, взяв полную копию репозитория CVS на ваш компьютер и выполнив CVS=realCvsPath # commit to the git first if ($ARGV[0] && $ARGV[0] eq "commit") { system 'git commit -a'; } # execute the appropriate cvs program # =================================== exec "$CVS", @ARGV локально:

    CVS/{Entries,Repository,Root}

Обратите внимание, что значение -x после -p очень важно. Это проходит от -x до cvsps. Для получения дополнительной информации см. Справочную страницу cvsps .


8 ов

Я написал подробности своего собственного рабочего процесса для удаленных CVS, локальных Git


1

Немного мета-ответ. Если вы вынуждены использовать git 'guerilla style', то есть ваша компания застряла с использованием cvs для управления версиями, и вы используете git на своей рабочей станции, чтобы сделать жизнь проще, вы можете подумать о том, чтобы сделать что-то подобное;

git

Вызов этого файла «cvs» и включение его пути перед реальной командой CVS. В противном случае у вас может быть git commits старше, чем cvs, что не так полезно ...


1

Если восходящий поток составляет 100% в CVS (например, OpenBSD или многие из его подпроектов, таких как mdocml или ports-readmes ), и особенно если он такой же ржавый, как дерево CVS OpenBSD (например, иногда даже с переписью истории), я нахожу весьма полезно просто передать основные gitфайлы непосредственно в мой gitрепозиторий.

Это упрощает работу с несколькими независимыми рабочими пространствами, позволяет проверять их gitна любой машине, а затем cvs upна месте или cvs diffсоздавать правильные патчи CVS для рассылки сторонним разработчикам без ссылки.

git, git-cvs,
Похожие вопросы
Яндекс.Метрика