Хотя у вас может не быть локальных refs/for
ветвей для удаления (поскольку вы упоминаете, что команда git for-each-ref refs/for
ничего не возвращает), документация Gerrit для этого сообщения об ошибке предусматривает:
Ветви под пространством имен 'refs/for/
' могут создавать пользователи, которые обходят Gerrit и отправляют напрямую в сам git-репозиторий (не используя SSH-порт сервера Gerrit) .
Итак, сначала проверьте, на что ссылается источник (это должен быть сервер Gerrit), с помощью git remote -v
.
Но также проверьте и окончательное репо, переданное через репозиторий Gerrit: здесь нет /refs/for
ветка должна быть.Именно в в удаленном репо вы должны удалить любые refs/for
ветви.
«Этот» репо означает «авторитетный»"repo.
Если у вас есть право нажать прямо на этот удаленный репозиторий (опять же, не на Gerrit, а на тот, на который Gerrit должен выдвигать), вам нужно удалить эти удаленные ветви.
Клонируйте репо, примените команду, указанную в документе:
for n in $(git for-each-ref --format='%(refname)' refs/for);
do git update-ref -d $n; done
Затем нажмите git push --mirror
.
Если у вас нет прав на удаленный клиентрепо, свяжитесь с клиентом и попросите выполнить очистку в этом целевом репо.