Импорт репозитория из git в gerrit

У меня есть два вопроса о Геррит:

  1. как преобразовать или импортировать уже существующий репозиторий Git в формат Gerrit? было много коммитов без управления Gerrit, я хочу просто подтолкнуть эти коммиты в проект Gerrit.

    Я вижу два способа сделать это:

    1. скопируйте существующий голый каталог Git в Gerrit, а затем добавьте его в базу данных. Это безопасный метод?

    2. Push все коммиты из моего локального репозитория в репозиторий gerrit.

  2. как вернуть репозиторий из Gerrit в исходный формат Git? требуется ли удалить специальный Геррит */for/* ветки для этого?

3 ответов


прежде всего: нет специального "формата Gerrit". Gerrit работает с обычными репозиториями git.

  1. создайте новый проект в Gerrit (без начальной фиксации). Добавьте созданный репозиторий в качестве удаленного в существующий репозиторий и просто нажмите. Вы можете настроить Gerrit, чтобы разрешить прямое нажатие в репозиторий (минуя обзор), позволяя импортировать весь репозиторий.

    альтернативно, если у вас есть прямой доступ к Gerrit расположение репозитория (например, через SSH или в локальной файловой системе), вы можете просто нажать непосредственно в репозиторий (где бы Геррит его ни создал), полностью минуя Геррит. Однако после этого вам нужно будет очистить кэш Gerrit, чтобы Геррит заметил, что главы репозитория обновлены.

  2. Как сказано, нет "формата Gerrit". Просто клонируйте свой репозиторий от gerrit, и все будет хорошо. Вам не нужно беспокоиться о каких-либо специальных отделениях.


Я импортировал много проектов GIT в gerrit, самый простой способ, который я нашел, - скопировать xy.каталог Git репозитория Git в каталог, где gerrit депонирует репозитории git. После перезапуска процесса gerrit новый проект находится в списке новых проектов, и вы можете редактировать описание и права доступа.


  1. просто создайте новый проект в Gerrit, а затем нажмите репозиторий git там. Если вы хотите обойти Обзор, нажмите непосредственно на master вместо refs/for / master. Вам нужно будет добавить разрешение, чтобы сделать это для себя.

    Я думаю, что сообщение об ошибке может быть вызвано тем, что вы еще не импортировали свой ssh-ключ в Gerrit.

  2. просто клонируйте репозиторий из Gerrit. Он не будет включать никаких дополнительных ветвей.