У меня есть скрипт периодической синхронизации git, который запускается из облачного хранилища битов в наш локальный репозиторий git.
В двух словах это делает следующее:
git clone --mirror ssh://source.git
git show-ref | cut -d ' ' -f2 | grep 'pull-request' | xargs -r -L1 git update-ref -d
git push --mirror ssh://target.git
Эта последовательность клонировала исходное хранилище, очистила все ссылки на запросы извлечения и отправила в целевое хранилище. Несколько месяцев он работал без проблем, но сегодня я получил следующую ошибку:
remote: вы пытаетесь обновить ссылки, зарезервированные для
Функциональность запроса извлечения Bitbucket. Bitbucket управляет этими ссылками
автоматически, и они не могут быть обновлены пользователями. Пульт дистанционного управления:
Отклоненные ссылки: удаленный: refs / pull-запросы / 1 / от
remote: refs / pull-запросы / 1 / merge remote:! [Дистанционный
отклонено] refs / pull-request / 1 / from (обработчик предварительного получения отклонен)!
[удалено отклонено] refs / pull-запросы / 1 / слияние (предварительный прием
снизился
)
В целевом хранилище я вижу эти странные ссылки, но в пользовательском интерфейсе нет запросов на извлечение. Я подозреваю, что что-то повреждено в целевом хранилище, но я не смог очистить эти ссылки с помощью
git update-ref -d refs/pull-requests/1/merge
git update-ref -d refs/pull-requests/1/from
git push
Эта операция вызывает следующую ошибку:
remote: вы пытаетесь обновить ссылки, зарезервированные для
Функциональность запроса извлечения Bitbucket. Bitbucket управляет этими ссылками
автоматически, и они не могут быть обновлены пользователями. пульт: отклонен
refs: удаленный: refs / pull-запросы / 1 / с удаленного:
ссылки / подтягивания запросы / 1 / слияния
У меня есть 2 вопроса:)
1) Что может стать причиной такого повреждения в целевом хранилище?
2) Есть ли способ избавиться от этих ссылок на цель?