Если я запустил следующее:
git ls-remote -h https://${OUR_GITLAB_HOST}/${PUBLIC_REPO}.git
в существующем репозитории, то я получу счастливый ответ, сообщающий, что он существует. С другой стороны, если я попробую
git ls-remote -h https://${OUR_GITLAB_HOST}/${NON_EXISTENT_REPO}.git
, он попросит у меня учетные данные вместо того, чтобы вывести код ошибки 128, как я бы хотел.
Как можно У меня git ls-remote
(или какой-нибудь другой подобный инструмент) просто вылетает, если он не находит publi c репозиторий?
Обратите внимание, что я создаю инструмент для других людей в нашей сети; Хотелось бы предположить минимальные дополнительные утилиты, кроме python и bash. Здесь есть ответ, который, похоже, работает: Проверьте, является ли git репо publi c с HTTP-запросом - однако, если он успешен, он загружает файл ссылок, что нежелательно.